Function at 0x44c375
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4ec8a7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x17c
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov edi, dword [esp + 0x1a0]
mov dword [esp + 0x30], ebp
xor ebx, ebx
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x511238
call fcn.004be240
lea eax, [esp + 0x14]
push eax
call fcn.004cfca0
add esp, 8
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x194], ebx
cmp eax, ebx
mov dword [edi], ebx
jne 0x44ca77
push 6
push 0x50f9d4
lea ecx, [esp + 0x68]
call fcn.004be240
mov esi, eax
push 6
push 0x511230
lea ecx, [esp + 0x5c]
mov byte [esp + 0x19c], 1
call fcn.004be240
push 1
push esi
push eax
push 2
mov ecx, ebp
mov byte [esp + 0x1a4], 2
call fcn.00448c50
lea ecx, [esp + 0x54]
mov esi, eax
mov byte [esp + 0x194], 1
call fcn.004be2e0
lea ecx, [esp + 0x60]
mov byte [esp + 0x194], bl
call fcn.004be2e0
push 0xa
call fcn.004bb3e0
add esp, 4
cmp si, bx
jl 0x44c3a6
cmp si, 2
jg 0x44c3a6
movsx ecx, si
inc ecx
cmp ecx, 3
je 0x44d965
push 0xd
push 1
lea ecx, [esp + 0x18]
call fcn.00413dc0
push 0xa
push 1
lea ecx, [esp + 0x18]
call fcn.00413dc0
cmp si, bx
jne 0x44c4a4
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x511228
call fcn.004be240
lea edx, [esp + 0x140]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 3
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00414120
push 1
lea ecx, [esp + 0x140]
mov byte [esp + 0x198], bl
call fcn.00414090
mov eax, dword [edi]
add eax, 0x100002
jmp 0x44c503
cmp si, 1
jne 0x44c505
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x511220
call fcn.004be240
lea edx, [esp + 0x160]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 4
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00414120
push 1
lea ecx, [esp + 0x160]
mov byte [esp + 0x198], bl
call fcn.00414090
mov eax, dword [edi]
add eax, 0x100102
mov dword [edi], eax
push 6
push 0x50f9d4
lea ecx, [esp + 0x64]
call fcn.004be240
mov esi, eax
push 6
push 0x511218
lea ecx, [esp + 0x60]
mov byte [esp + 0x19c], 5
call fcn.004be240
push 1
push esi
push eax
push 2
mov ecx, ebp
mov byte [esp + 0x1a4], 6
call fcn.00448c50
lea ecx, [esp + 0x58]
mov esi, eax
mov byte [esp + 0x194], 5
call fcn.004be2e0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x194], bl
call fcn.004be2e0
push 0xa
call fcn.004bb3e0
add esp, 4
cmp si, bx
jl 0x44c505
cmp si, 2
jg 0x44c505
movsx edx, si
inc edx
cmp edx, 3
je 0x44d965
mov eax, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub eax, edx
cmp eax, 1
ja 0x44c59e
call fcn.004de1ab
mov ecx, dword [esp + 0x18]
push ebx
lea ebp, [ecx + 1]
lea ecx, [esp + 0x14]
push ebp
call fcn.004144a0
test al, al
je 0x44c5cb
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, edx
push ebp
lea ecx, [esp + 0x14]
mov byte [eax], 0xd
call fcn.00414480
mov ecx, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub ecx, edx
cmp ecx, 1
ja 0x44c5e1
call fcn.004de1ab
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea ebp, [edx + 1]
push ebp
call fcn.004144a0
test al, al
je 0x44c60e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add eax, ecx
push ebp
lea ecx, [esp + 0x14]
mov byte [eax], 0xa
call fcn.00414480
cmp si, bx
jne 0x44c667
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x511210
call fcn.004be240
lea edx, [esp + 0x180]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 7
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00414120
push 1
lea ecx, [esp + 0x180]
mov byte [esp + 0x198], bl
call fcn.00414090
jmp 0x44c6c5
cmp si, 1
jne 0x44c6c5
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x511208
call fcn.004be240
lea edx, [esp + 0x170]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 8
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00414120
push 1
lea ecx, [esp + 0x170]
mov byte [esp + 0x198], bl
call fcn.00414090
add dword [edi], 0x200000
mov edx, dword [0x4f73d0]
mov ecx, dword [esp + 0x18]
sub edx, ecx
cmp edx, 1
ja 0x44c6db
call fcn.004de1ab
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea esi, [eax + 1]
push esi
call fcn.004144a0
test al, al
je 0x44c70a
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push esi
mov byte [edx + ecx], 0xd
lea eax, [edx + ecx]
lea ecx, [esp + 0x14]
call fcn.00414480
mov eax, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub eax, edx
cmp eax, 1
ja 0x44c71f
call fcn.004de1ab
mov ecx, dword [esp + 0x18]
push ebx
lea esi, [ecx + 1]
lea ecx, [esp + 0x14]
push esi
call fcn.004144a0
test al, al
je 0x44c74c
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, edx
push esi
lea ecx, [esp + 0x14]
mov byte [eax], 0xa
call fcn.00414480
mov ecx, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub ecx, edx
cmp ecx, 1
ja 0x44c762
call fcn.004de1ab
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea esi, [edx + 1]
push esi
call fcn.004144a0
test al, al
je 0x44c78f
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add eax, ecx
push esi
lea ecx, [esp + 0x14]
mov byte [eax], 0xd
call fcn.00414480
mov edx, dword [0x4f73d0]
mov ecx, dword [esp + 0x18]
sub edx, ecx
cmp edx, 1
ja 0x44c7a5
call fcn.004de1ab
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea esi, [eax + 1]
push esi
call fcn.004144a0
test al, al
je 0x44c7d4
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push esi
mov byte [edx + ecx], 0xa
lea eax, [edx + ecx]
lea ecx, [esp + 0x14]
call fcn.00414480
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x511200
call fcn.004be240
lea eax, [esp + 0x150]
push eax
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 9
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00414120
push 1
lea ecx, [esp + 0x150]
mov byte [esp + 0x198], bl
call fcn.00414090
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x11d]
mov byte [esp + 0x11c], bl
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x1a0]
lea ecx, [esp + 0x11c]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [edx]
push eax
push 0x5111fc
push ecx
call fcn.004de8d6
lea edi, [esp + 0x128]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov edx, dword [0x4f73d0]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [esp + 0x18]
sub edx, ecx
cmp edx, esi
ja 0x44c887
call fcn.004de1ab
cmp esi, ebx
jbe 0x44c8cd
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea ebp, [esi + eax]
push ebp
call fcn.004144a0
test al, al
je 0x44c8cd
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ebp
lea edi, [edx + ecx]
mov ecx, esi
mov eax, ecx
lea esi, [esp + 0x120]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
call fcn.00414480
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x50f634
call fcn.004be240
mov ecx, dword [0x5200b4]
call fcn.004d0800
mov ecx, dword [0x5200b4]
push 1
call fcn.004d0a00
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x510654
call fcn.004be240
mov ecx, dword [0x5200b4]
call fcn.004d0980
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x51064c
call fcn.004be240
mov ecx, dword [0x5200b4]
call fcn.004d0980
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x510914
call fcn.004be240
mov ecx, dword [0x5200b4]
call fcn.004d0980
mov cl, byte [esp + 0x27]
push ebx
mov byte [esp + 0x70], cl
lea ecx, [esp + 0x70]
call fcn.00414090
mov dl, byte [esp + 0x6c]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x38], esp
push ebx
mov ecx, esi
mov byte [esp + 0x1a8], 0xa
mov byte [esi], dl
call fcn.00414090
mov eax, dword [0x4f73d0]
lea ecx, [esp + 0x7c]
push eax
push ebx
push ecx
mov ecx, esi
call fcn.00413e90
push ecx
mov byte [esp + 0x1a8], 0xb
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x5111f4
call fcn.004be240
mov ecx, dword [0x5200b4]
mov byte [esp + 0x1a8], 0xa
call fcn.004d0b70
mov dl, byte [esp + 0x10]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x30], esp
push ebx
mov ecx, esi
mov byte [esi], dl
call fcn.00414090
mov eax, dword [0x4f73d0]
push eax
lea ecx, [esp + 0x24]
push ebx
push ecx
mov ecx, esi
call fcn.00413e90
mov ecx, dword [0x5200b4]
call fcn.004d0a20
mov ecx, dword [0x5200b4]
call fcn.004d0f50
push 0xa
mov esi, eax
call fcn.004bb3e0
add esp, 4
cmp si, bx
jl 0x44ca1e
cmp si, 2
jle 0x44ca35
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x198], bl
call fcn.00414090
jmp 0x44c8cd
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x198], bl
call fcn.00414090
cmp si, 1
jne 0x44d849
push 1
lea ecx, [esp + 0x14]
mov dword [esp + 0x198], 0xffffffff
call fcn.00414090
mov edi, dword [esp + 0x1a0]
mov ebp, dword [esp + 0x30]
jmp 0x44c36e
push 6
push 0x50f9d4
lea ecx, [esp + 0x70]
call fcn.004be240
mov esi, eax
push 6
push 0x511230
lea ecx, [esp + 0x6c]
mov byte [esp + 0x19c], 0x12
call fcn.004be240
push 1
push esi
push eax
push 2
mov ecx, ebp
mov byte [esp + 0x1a4], 0x13
call fcn.00448c50
lea ecx, [esp + 0x64]
mov esi, eax
mov byte [esp + 0x194], 0x12
call fcn.004be2e0
lea ecx, [esp + 0x68]
mov byte [esp + 0x194], bl
call fcn.004be2e0
push 0xa
call fcn.004bb3e0
add esp, 4
cmp si, bx
jl 0x44ca77
cmp si, 2
jg 0x44ca77
movsx edx, si
inc edx
cmp edx, 3
je 0x44d9d8
mov eax, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub eax, edx
cmp eax, 1
ja 0x44cb10
call fcn.004de1ab
mov ecx, dword [esp + 0x18]
push ebx
lea edi, [ecx + 1]
lea ecx, [esp + 0x14]
push edi
call fcn.004144a0
test al, al
je 0x44cb3d
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, edx
push edi
lea ecx, [esp + 0x14]
mov byte [eax], 0xd
call fcn.00414480
mov ecx, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub ecx, edx
cmp ecx, 1
ja 0x44cb53
call fcn.004de1ab
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea edi, [edx + 1]
push edi
call fcn.004144a0
test al, al
je 0x44cb81
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add eax, ecx
mov byte [eax], 0xa
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edi
mov byte [edi + edx], bl
cmp si, bx
jne 0x44cc28
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x511228
call fcn.004be240
lea eax, [esp + 0xe0]
push eax
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 0x14
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00414120
mov eax, dword [esp + 0xe0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44cc0e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44cc05
cmp al, 0xff
je 0x44cc05
dec al
mov byte [ecx], al
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
jmp 0x44ccc0
push ecx
call fcn.004de1a0
add esp, 4
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
jmp 0x44ccc0
cmp si, 1
jne 0x44ccc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x511220
call fcn.004be240
lea edx, [esp + 0xd0]
push edx
call fcn.004cfca0
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 0x15
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00414120
mov eax, dword [esp + 0xd0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44cc9e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44cc95
cmp al, 0xff
je 0x44cc95
dec al
mov byte [ecx], al
jmp 0x44cc9e
push ecx
call fcn.004de1a0
add esp, 4
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
add dword [eax], 0x100
push 6
push 0x50f9d4
lea ecx, [esp + 0x58]
call fcn.004be240
mov esi, eax
push 6
push 0x5111ec
lea ecx, [esp + 0x50]
mov byte [esp + 0x19c], 0x16
call fcn.004be240
push 1
push esi
push eax
push 2
mov ecx, ebp
mov byte [esp + 0x1a4], 0x17
call fcn.00448c50
lea ecx, [esp + 0x48]
mov esi, eax
mov byte [esp + 0x194], 0x16
call fcn.004be2e0
lea ecx, [esp + 0x50]
mov byte [esp + 0x194], bl
call fcn.004be2e0
push 0xa
call fcn.004bb3e0
add esp, 4
cmp si, bx
jl 0x44ccc0
cmp si, 2
jg 0x44ccc0
movsx edx, si
inc edx
cmp edx, 3
je 0x44d9d8
mov eax, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub eax, edx
cmp eax, 1
ja 0x44cd59
call fcn.004de1ab
mov ecx, dword [esp + 0x18]
push ebx
lea edi, [ecx + 1]
lea ecx, [esp + 0x14]
push edi
call fcn.004144a0
test al, al
je 0x44cd87
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, edx
mov byte [eax], 0xd
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], edi
mov byte [edi + ecx], bl
mov edx, dword [0x4f73d0]
mov ecx, dword [esp + 0x18]
sub edx, ecx
cmp edx, 1
ja 0x44cd9d
call fcn.004de1ab
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea edi, [eax + 1]
push edi
call fcn.004144a0
test al, al
je 0x44cdcd
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 0xa
mov dword [esp + 0x18], edi
lea eax, [edx + ecx]
mov eax, dword [esp + 0x14]
mov byte [edi + eax], bl
cmp si, bx
jne 0x44ce74
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x5111e4
call fcn.004be240
lea ecx, [esp + 0x80]
push ecx
call fcn.004cfca0
add esp, 8
mov edx, dword [0x4f73d0]
lea ecx, [esp + 0x10]
push edx
push ebx
push eax
mov byte [esp + 0x1a0], 0x18
call fcn.00414120
mov eax, dword [esp + 0x80]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44ce5a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44ce51
cmp al, 0xff
je 0x44ce51
dec al
mov byte [ecx], al
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
jmp 0x44cf67
push ecx
call fcn.004de1a0
add esp, 4
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
jmp 0x44cf67
cmp si, 1
jne 0x44cf67
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x5111dc
call fcn.004be240
lea eax, [esp + 0xc0]
push eax
call fcn.004cfca0
add esp, 8
mov edi, eax
mov ecx, dword [0x4f73d0]
mov eax, dword [edi + 8]
mov esi, ecx
mov byte [esp + 0x194], 0x19
cmp eax, esi
jae 0x44cebc
mov esi, eax
sub ecx, dword [esp + 0x18]
cmp ecx, esi
ja 0x44cec9
call fcn.004de1ab
cmp esi, ebx
jbe 0x44cf16
mov ecx, dword [esp + 0x18]
push ebx
lea ebp, [esi + ecx]
lea ecx, [esp + 0x14]
push ebp
call fcn.004144a0
test al, al
je 0x44cf16
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x44ceef
mov eax, 0x4f7480
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push ebp
lea edi, [ecx + edx]
mov ecx, esi
mov edx, ecx
mov esi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
call fcn.00414480
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44cf45
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44cf3c
cmp al, 0xff
je 0x44cf3c
dec al
mov byte [ecx], al
jmp 0x44cf45
push ecx
call fcn.004de1a0
add esp, 4
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
add dword [eax], 0x1000
mov edi, 0x50fbc8
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x18]
repne scasb al, byte es:[edi]
mov eax, dword [0x4f73d0]
not ecx
dec ecx
sub eax, edx
mov esi, ecx
cmp eax, esi
ja 0x44cf8c
call fcn.004de1ab
cmp esi, ebx
jbe 0x44cfd1
mov ecx, dword [esp + 0x18]
push ebx
lea ebp, [esi + ecx]
lea ecx, [esp + 0x14]
push ebp
call fcn.004144a0
test al, al
je 0x44cfd1
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, esi
mov esi, 0x50fbc8
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ebp
mov byte [eax + ebp], bl
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x5111d4
call fcn.004be240
lea ecx, [esp + 0xf0]
push ecx
call fcn.004cfca0
add esp, 8
mov edi, eax
mov ecx, dword [0x4f73d0]
mov eax, dword [edi + 8]
mov esi, ecx
mov byte [esp + 0x194], 0x1a
cmp eax, esi
jae 0x44d00f
mov esi, eax
sub ecx, dword [esp + 0x18]
cmp ecx, esi
ja 0x44d01c
call fcn.004de1ab
cmp esi, ebx
jbe 0x44d069
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea ebp, [esi + edx]
push ebp
call fcn.004144a0
test al, al
je 0x44d069
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x44d042
mov eax, 0x4f7480
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ebp
lea edi, [edx + ecx]
mov ecx, esi
mov esi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
call fcn.00414480
mov eax, dword [esp + 0xf0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44d098
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44d08f
cmp al, 0xff
je 0x44d08f
dec al
mov byte [ecx], al
jmp 0x44d098
push ecx
call fcn.004de1a0
add esp, 4
mov eax, dword [esp + 0x1a0]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov ecx, dword [eax]
mov dword [esp + 0xf8], ebx
add ecx, 3
mov dword [eax], ecx
push 6
push 0x50f9d4
lea ecx, [esp + 0x34]
call fcn.004be240
mov esi, eax
push 6
push 0x5111cc
lea ecx, [esp + 0x54]
mov byte [esp + 0x19c], 0x1b
call fcn.004be240
push 1
push esi
push eax
push 2
mov ecx, edi
mov byte [esp + 0x1a4], 0x1c
call fcn.00448c50
lea ecx, [esp + 0x4c]
mov esi, eax
mov byte [esp + 0x194], 0x1b
call fcn.004be2e0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x194], bl
call fcn.004be2e0
push 0xa
call fcn.004bb3e0
add esp, 4
cmp si, bx
jl 0x44d0bf
cmp si, 2
jg 0x44d0bf
movsx ecx, si
inc ecx
cmp ecx, 3
je 0x44d9d8
mov edx, dword [0x4f73d0]
mov ecx, dword [esp + 0x18]
sub edx, ecx
cmp edx, 1
ja 0x44d159
call fcn.004de1ab
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea edi, [eax + 1]
push edi
call fcn.004144a0
test al, al
je 0x44d189
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 0xd
mov dword [esp + 0x18], edi
lea eax, [edx + ecx]
mov eax, dword [esp + 0x14]
mov byte [edi + eax], bl
mov ecx, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub ecx, edx
cmp ecx, 1
ja 0x44d19f
call fcn.004de1ab
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea edi, [edx + 1]
push edi
call fcn.004144a0
test al, al
je 0x44d1cd
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add eax, ecx
mov byte [eax], 0xa
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], edi
mov byte [edi + edx], bl
cmp si, bx
jne 0x44d2c6
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x5111c4
call fcn.004be240
lea eax, [esp + 0xa0]
push eax
call fcn.004cfca0
add esp, 8
mov edi, eax
mov ecx, dword [0x4f73d0]
mov eax, dword [edi + 8]
mov esi, ecx
mov byte [esp + 0x194], 0x1d
cmp eax, esi
jae 0x44d214
mov esi, eax
sub ecx, dword [esp + 0x18]
cmp ecx, esi
ja 0x44d221
call fcn.004de1ab
cmp esi, ebx
jbe 0x44d26e
mov ecx, dword [esp + 0x18]
push ebx
lea ebp, [esi + ecx]
lea ecx, [esp + 0x14]
push ebp
call fcn.004144a0
test al, al
je 0x44d26e
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x44d247
mov eax, 0x4f7480
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push ebp
lea edi, [ecx + edx]
mov ecx, esi
mov edx, ecx
mov esi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
call fcn.00414480
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44d29d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44d294
cmp al, 0xff
je 0x44d294
dec al
mov byte [ecx], al
jmp 0x44d29d
push ecx
call fcn.004de1a0
add esp, 4
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov ecx, dword [eax]
add ecx, 0x300000
jmp 0x44d3bb
cmp si, 1
jne 0x44d3bd
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x5111bc
call fcn.004be240
lea eax, [esp + 0xb0]
push eax
call fcn.004cfca0
add esp, 8
mov edi, eax
mov ecx, dword [0x4f73d0]
mov eax, dword [edi + 8]
mov esi, ecx
mov byte [esp + 0x194], 0x1e
cmp eax, esi
jae 0x44d30e
mov esi, eax
sub ecx, dword [esp + 0x18]
cmp ecx, esi
ja 0x44d31b
call fcn.004de1ab
cmp esi, ebx
jbe 0x44d368
mov ecx, dword [esp + 0x18]
push ebx
lea ebp, [esi + ecx]
lea ecx, [esp + 0x14]
push ebp
call fcn.004144a0
test al, al
je 0x44d368
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x44d341
mov eax, 0x4f7480
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push ebp
lea edi, [ecx + edx]
mov ecx, esi
mov edx, ecx
mov esi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
call fcn.00414480
mov eax, dword [esp + 0xb0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44d397
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44d38e
cmp al, 0xff
je 0x44d38e
dec al
mov byte [ecx], al
jmp 0x44d397
push ecx
call fcn.004de1a0
add esp, 4
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov ecx, dword [eax]
add ecx, 0x100000
mov dword [eax], ecx
mov eax, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub eax, edx
cmp eax, 1
ja 0x44d3d2
call fcn.004de1ab
mov ecx, dword [esp + 0x18]
push ebx
lea esi, [ecx + 1]
lea ecx, [esp + 0x14]
push esi
call fcn.004144a0
test al, al
je 0x44d400
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, edx
mov byte [eax], 0xd
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov byte [esi + ecx], bl
mov edx, dword [0x4f73d0]
mov ecx, dword [esp + 0x18]
sub edx, ecx
cmp edx, 1
ja 0x44d416
call fcn.004de1ab
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea esi, [eax + 1]
push esi
call fcn.004144a0
test al, al
je 0x44d446
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov byte [edx + ecx], 0xa
mov dword [esp + 0x18], esi
lea eax, [edx + ecx]
mov eax, dword [esp + 0x14]
mov byte [eax + esi], bl
mov ecx, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub ecx, edx
cmp ecx, 1
ja 0x44d45c
call fcn.004de1ab
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea esi, [edx + 1]
push esi
call fcn.004144a0
test al, al
je 0x44d48a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add eax, ecx
mov byte [eax], 0xd
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov byte [edx + esi], bl
mov eax, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub eax, edx
cmp eax, 1
ja 0x44d49f
call fcn.004de1ab
mov ecx, dword [esp + 0x18]
push ebx
lea esi, [ecx + 1]
lea ecx, [esp + 0x14]
push esi
call fcn.004144a0
test al, al
je 0x44d4cd
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, edx
mov byte [eax], 0xa
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], esi
mov byte [ecx + esi], bl
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x511200
call fcn.004be240
lea edx, [esp + 0x90]
push edx
call fcn.004cfca0
add esp, 8
mov edi, eax
mov ecx, dword [0x4f73d0]
mov eax, dword [edi + 8]
mov esi, ecx
mov byte [esp + 0x194], 0x1f
cmp eax, esi
jae 0x44d50b
mov esi, eax
sub ecx, dword [esp + 0x18]
cmp ecx, esi
ja 0x44d518
call fcn.004de1ab
cmp esi, ebx
jbe 0x44d565
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea ebp, [eax + esi]
push ebp
call fcn.004144a0
test al, al
je 0x44d565
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x44d53e
mov eax, 0x4f7480
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push ebp
lea edi, [edx + ecx]
mov ecx, esi
mov esi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
call fcn.00414480
mov eax, dword [esp + 0x90]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44d594
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44d58b
cmp al, 0xff
je 0x44d58b
dec al
mov byte [ecx], al
jmp 0x44d594
push ecx
call fcn.004de1a0
add esp, 4
mov ecx, 7
xor eax, eax
lea edi, [esp + 0xfd]
mov byte [esp + 0xfc], bl
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1a0]
mov dword [esp + 0x90], ebx
stosw word es:[edi], ax
mov edx, dword [ecx]
mov dword [esp + 0x94], ebx
stosb byte es:[edi], al
push edx
lea eax, [esp + 0x100]
push 0x5111fc
push eax
mov dword [esp + 0xa4], ebx
call fcn.004de8d6
lea edi, [esp + 0x108]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x18]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [0x4f73d0]
sub ecx, edx
cmp ecx, esi
ja 0x44d60a
call fcn.004de1ab
cmp esi, ebx
jbe 0x44d651
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea ebp, [edx + esi]
push ebp
call fcn.004144a0
test al, al
je 0x44d651
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
lea edi, [ecx + eax]
mov ecx, esi
mov edx, ecx
lea esi, [esp + 0xfc]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ebp
mov byte [eax + ebp], bl
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x50f634
call fcn.004be240
mov ecx, dword [0x5200b4]
call fcn.004d0800
mov ecx, dword [0x5200b4]
push 1
call fcn.004d0a00
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x510654
call fcn.004be240
mov ecx, dword [0x5200b4]
call fcn.004d0980
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x51064c
call fcn.004be240
mov ecx, dword [0x5200b4]
call fcn.004d0980
mov al, byte [esp + 0x27]
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x38], al
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
sub esp, 0x10
mov byte [esp + 0x1a4], 0x20
mov ecx, esp
mov dword [esp + 0x30], esp
mov byte [ecx], al
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov edx, dword [0x4f73d0]
lea eax, [esp + 0x48]
push edx
push ebx
push eax
call fcn.00413e90
push ecx
mov byte [esp + 0x1a8], 0x21
mov ecx, esp
mov dword [esp + 0x3c], esp
push 6
push 0x5111b4
call fcn.004be240
mov ecx, dword [0x5200b4]
mov byte [esp + 0x1a8], 0x20
call fcn.004d0b70
mov dl, byte [esp + 0x10]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x30], esp
mov byte [ecx], dl
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov eax, dword [0x4f73d0]
lea edx, [esp + 0x20]
push eax
push ebx
push edx
call fcn.00413e90
mov ecx, dword [0x5200b4]
call fcn.004d0a20
mov ecx, dword [0x5200b4]
call fcn.004d0f50
push 0xa
mov esi, eax
call fcn.004bb3e0
add esp, 4
cmp si, bx
jl 0x44d780
cmp si, 1
jle 0x44d7bc
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x194], bl
cmp ecx, ebx
je 0x44d7ab
mov al, byte [ecx - 1]
cmp al, bl
je 0x44d7a1
cmp al, 0xff
je 0x44d7a1
dec al
mov byte [ecx - 1], al
jmp 0x44d7ab
dec ecx
push ecx
call fcn.004de1a0
add esp, 4
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
jmp 0x44d651
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44d7e8
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44d7df
cmp al, 0xff
je 0x44d7df
dec al
mov byte [ecx], al
jmp 0x44d7e8
push ecx
call fcn.004de1a0
add esp, 4
cmp si, 1
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
jne 0x44da00
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x194], 0xffffffff
cmp ecx, ebx
je 0x44d82d
mov al, byte [ecx - 1]
cmp al, bl
je 0x44d823
cmp al, 0xff
je 0x44d823
dec al
mov byte [ecx - 1], al
jmp 0x44d82d
dec ecx
push ecx
call fcn.004de1a0
add esp, 4
mov edi, dword [esp + 0x1a0]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
jmp 0x44c36e
cmp si, 2
jne 0x44da00
mov al, byte [esp + 0x27]
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x30], esp
push ebx
mov ecx, esi
mov dword [esp + 0x40], esi
mov byte [esi], al
call fcn.00414090
mov edi, 0x520010
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
mov ecx, esi
push ebp
call fcn.004144a0
test al, al
je 0x44d8b2
mov ecx, ebp
mov eax, esi
mov edx, ecx
mov esi, 0x520010
mov edi, dword [eax + 4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 4]
mov dword [eax + 8], ebp
add ebp, ecx
mov byte [ebp], bl
sub esp, 0x10
lea eax, [esp + 0x47]
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
push 0x50f8e4
mov byte [esp + 0x1bc], 0xc
call fcn.00413bf0
sub esp, 0x10
lea edx, [esp + 0x67]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
push 0x50f9a8
mov byte [esp + 0x1cc], 0xd
call fcn.00413bf0
sub esp, 0x10
lea eax, [esp + 0x76]
mov ecx, esp
mov dword [esp + 0x8c], esp
push eax
push 0x520010
mov byte [esp + 0x1dc], 0xe
call fcn.00413bf0
push ecx
mov byte [esp + 0x1d8], 0xf
mov ecx, esp
mov dword [esp + 0x94], esp
push 6
push 0x50f634
call fcn.004be240
push ecx
mov byte [esp + 0x1dc], 0x10
mov ecx, esp
mov dword [esp + 0x90], esp
push 6
push 0x5111ac
call fcn.004be240
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x1dc], bl
call fcn.0044a4e0
cmp eax, ebx
jge 0x44d985
push 1
lea ecx, [esp + 0x14]
mov esi, 0xfffffffe
mov dword [esp + 0x198], 0xffffffff
call fcn.00414090
jmp 0x44da26
mov ecx, eax
and ecx, 0x80000001
jns 0x44d994
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x44d9f7
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x50f634
call fcn.004be240
push ecx
mov byte [esp + 0x1a4], 0x11
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x5111a4
call fcn.004be240
mov ecx, 0x5200a8
mov byte [esp + 0x1a4], bl
call fcn.004caf10
mov ecx, dword [esp + 0x14]
mov esi, 0xfffffffe
cmp ecx, ebx
je 0x44da26
mov al, byte [ecx - 1]
cmp al, bl
je 0x44da1c
cmp al, 0xff
je 0x44da1c
dec al
mov byte [ecx - 1], al
jmp 0x44da26
mov edx, dword [esp + 0x1a0]
mov dword [edx], eax
mov ecx, dword [esp + 0x14]
xor esi, esi
cmp ecx, ebx
je 0x44da26
mov al, byte [ecx - 1]
cmp al, bl
je 0x44da1c
cmp al, 0xff
je 0x44da1c
dec al
mov byte [ecx - 1], al
jmp 0x44da26
dec ecx
push ecx
call fcn.004de1a0
add esp, 4
mov ecx, dword [esp + 0x18c]
mov ax, si
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x188
ret 8