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

Disassembly:
push 0xffffffffffffffff
push 0x4ec877
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 0x5112d4
call fcn.004bea10
lea eax, [esp + 0x14]
push eax
call fcn.004d0560
add esp, 8
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x194], ebx
cmp eax, ebx
mov dword [edi], ebx
jne 0x44ae27
push 6
push 0x50f9d0
lea ecx, [esp + 0x68]
call fcn.004bea10
mov esi, eax
push 6
push 0x5112cc
lea ecx, [esp + 0x5c]
mov byte [esp + 0x19c], 1
call fcn.004bea10
push 1
push esi
push eax
push 2
mov ecx, ebp
mov byte [esp + 0x1a4], 2
call fcn.00446d60
lea ecx, [esp + 0x54]
mov esi, eax
mov byte [esp + 0x194], 1
call fcn.004beab0
lea ecx, [esp + 0x60]
mov byte [esp + 0x194], bl
call fcn.004beab0
push 0xa
call fcn.004bba40
add esp, 4
cmp si, bx
jl 0x44a756
cmp si, 2
jg 0x44a756
movsx ecx, si
inc ecx
cmp ecx, 3
je 0x44bd15
push 0xd
push 1
lea ecx, [esp + 0x18]
call fcn.00411bc0
push 0xa
push 1
lea ecx, [esp + 0x18]
call fcn.00411bc0
cmp si, bx
jne 0x44a854
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x5112c4
call fcn.004bea10
lea edx, [esp + 0x140]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 3
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00411f10
push 1
lea ecx, [esp + 0x140]
mov byte [esp + 0x198], bl
call fcn.00411e90
mov eax, dword [edi]
add eax, 0x100002
jmp 0x44a8b3
cmp si, 1
jne 0x44a8b5
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x5112bc
call fcn.004bea10
lea edx, [esp + 0x160]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 4
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00411f10
push 1
lea ecx, [esp + 0x160]
mov byte [esp + 0x198], bl
call fcn.00411e90
mov eax, dword [edi]
add eax, 0x100102
mov dword [edi], eax
push 6
push 0x50f9d0
lea ecx, [esp + 0x64]
call fcn.004bea10
mov esi, eax
push 6
push 0x5112b4
lea ecx, [esp + 0x60]
mov byte [esp + 0x19c], 5
call fcn.004bea10
push 1
push esi
push eax
push 2
mov ecx, ebp
mov byte [esp + 0x1a4], 6
call fcn.00446d60
lea ecx, [esp + 0x58]
mov esi, eax
mov byte [esp + 0x194], 5
call fcn.004beab0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x194], bl
call fcn.004beab0
push 0xa
call fcn.004bba40
add esp, 4
cmp si, bx
jl 0x44a8b5
cmp si, 2
jg 0x44a8b5
movsx edx, si
inc edx
cmp edx, 3
je 0x44bd15
mov eax, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub eax, edx
cmp eax, 1
ja 0x44a94e
call fcn.004deb1b
mov ecx, dword [esp + 0x18]
push ebx
lea ebp, [ecx + 1]
lea ecx, [esp + 0x14]
push ebp
call fcn.00412290
test al, al
je 0x44a97b
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.00412270
mov ecx, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub ecx, edx
cmp ecx, 1
ja 0x44a991
call fcn.004deb1b
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea ebp, [edx + 1]
push ebp
call fcn.00412290
test al, al
je 0x44a9be
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.00412270
cmp si, bx
jne 0x44aa17
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x5112ac
call fcn.004bea10
lea edx, [esp + 0x180]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 7
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00411f10
push 1
lea ecx, [esp + 0x180]
mov byte [esp + 0x198], bl
call fcn.00411e90
jmp 0x44aa75
cmp si, 1
jne 0x44aa75
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x5112a4
call fcn.004bea10
lea edx, [esp + 0x170]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 8
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00411f10
push 1
lea ecx, [esp + 0x170]
mov byte [esp + 0x198], bl
call fcn.00411e90
add dword [edi], 0x200000
mov edx, dword [0x4f73d0]
mov ecx, dword [esp + 0x18]
sub edx, ecx
cmp edx, 1
ja 0x44aa8b
call fcn.004deb1b
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea esi, [eax + 1]
push esi
call fcn.00412290
test al, al
je 0x44aaba
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.00412270
mov eax, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub eax, edx
cmp eax, 1
ja 0x44aacf
call fcn.004deb1b
mov ecx, dword [esp + 0x18]
push ebx
lea esi, [ecx + 1]
lea ecx, [esp + 0x14]
push esi
call fcn.00412290
test al, al
je 0x44aafc
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.00412270
mov ecx, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub ecx, edx
cmp ecx, 1
ja 0x44ab12
call fcn.004deb1b
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea esi, [edx + 1]
push esi
call fcn.00412290
test al, al
je 0x44ab3f
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.00412270
mov edx, dword [0x4f73d0]
mov ecx, dword [esp + 0x18]
sub edx, ecx
cmp edx, 1
ja 0x44ab55
call fcn.004deb1b
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea esi, [eax + 1]
push esi
call fcn.00412290
test al, al
je 0x44ab84
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.00412270
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x51129c
call fcn.004bea10
lea eax, [esp + 0x150]
push eax
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 9
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00411f10
push 1
lea ecx, [esp + 0x150]
mov byte [esp + 0x198], bl
call fcn.00411e90
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 0x511298
push ecx
call fcn.004df246
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 0x44ac37
call fcn.004deb1b
cmp esi, ebx
jbe 0x44ac7d
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea ebp, [esi + eax]
push ebp
call fcn.00412290
test al, al
je 0x44ac7d
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.00412270
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x50f634
call fcn.004bea10
mov ecx, dword [0x52020c]
call fcn.004d10c0
mov ecx, dword [0x52020c]
push 1
call fcn.004c9da0
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x5106d4
call fcn.004bea10
mov ecx, dword [0x52020c]
call fcn.004d1240
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x5106cc
call fcn.004bea10
mov ecx, dword [0x52020c]
call fcn.004d1240
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x51099c
call fcn.004bea10
mov ecx, dword [0x52020c]
call fcn.004d1240
mov cl, byte [esp + 0x27]
push ebx
mov byte [esp + 0x70], cl
lea ecx, [esp + 0x70]
call fcn.00411e90
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.00411e90
mov eax, dword [0x4f73d0]
lea ecx, [esp + 0x7c]
push eax
push ebx
push ecx
mov ecx, esi
call fcn.00411c90
push ecx
mov byte [esp + 0x1a8], 0xb
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x511290
call fcn.004bea10
mov ecx, dword [0x52020c]
mov byte [esp + 0x1a8], 0xa
call fcn.004d1410
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.00411e90
mov eax, dword [0x4f73d0]
push eax
lea ecx, [esp + 0x24]
push ebx
push ecx
mov ecx, esi
call fcn.00411c90
mov ecx, dword [0x52020c]
call fcn.004d12c0
mov ecx, dword [0x52020c]
call fcn.004d17f0
push 0xa
mov esi, eax
call fcn.004bba40
add esp, 4
cmp si, bx
jl 0x44adce
cmp si, 2
jle 0x44ade5
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x198], bl
call fcn.00411e90
jmp 0x44ac7d
push 1
lea ecx, [esp + 0x70]
mov byte [esp + 0x198], bl
call fcn.00411e90
cmp si, 1
jne 0x44bbf9
push 1
lea ecx, [esp + 0x14]
mov dword [esp + 0x198], 0xffffffff
call fcn.00411e90
mov edi, dword [esp + 0x1a0]
mov ebp, dword [esp + 0x30]
jmp 0x44a71e
push 6
push 0x50f9d0
lea ecx, [esp + 0x70]
call fcn.004bea10
mov esi, eax
push 6
push 0x5112cc
lea ecx, [esp + 0x6c]
mov byte [esp + 0x19c], 0x12
call fcn.004bea10
push 1
push esi
push eax
push 2
mov ecx, ebp
mov byte [esp + 0x1a4], 0x13
call fcn.00446d60
lea ecx, [esp + 0x64]
mov esi, eax
mov byte [esp + 0x194], 0x12
call fcn.004beab0
lea ecx, [esp + 0x68]
mov byte [esp + 0x194], bl
call fcn.004beab0
push 0xa
call fcn.004bba40
add esp, 4
cmp si, bx
jl 0x44ae27
cmp si, 2
jg 0x44ae27
movsx edx, si
inc edx
cmp edx, 3
je 0x44bd88
mov eax, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub eax, edx
cmp eax, 1
ja 0x44aec0
call fcn.004deb1b
mov ecx, dword [esp + 0x18]
push ebx
lea edi, [ecx + 1]
lea ecx, [esp + 0x14]
push edi
call fcn.00412290
test al, al
je 0x44aeed
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.00412270
mov ecx, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub ecx, edx
cmp ecx, 1
ja 0x44af03
call fcn.004deb1b
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea edi, [edx + 1]
push edi
call fcn.00412290
test al, al
je 0x44af31
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 0x44afd8
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x5112c4
call fcn.004bea10
lea eax, [esp + 0xe0]
push eax
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 0x14
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00411f10
mov eax, dword [esp + 0xe0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44afbe
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44afb5
cmp al, 0xff
je 0x44afb5
dec al
mov byte [ecx], al
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
jmp 0x44b070
push ecx
call fcn.004deb10
add esp, 4
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
jmp 0x44b070
cmp si, 1
jne 0x44b070
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x5112bc
call fcn.004bea10
lea edx, [esp + 0xd0]
push edx
call fcn.004d0560
add esp, 8
mov ecx, dword [0x4f73d0]
mov byte [esp + 0x194], 0x15
push ecx
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00411f10
mov eax, dword [esp + 0xd0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44b04e
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44b045
cmp al, 0xff
je 0x44b045
dec al
mov byte [ecx], al
jmp 0x44b04e
push ecx
call fcn.004deb10
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 0x50f9d0
lea ecx, [esp + 0x58]
call fcn.004bea10
mov esi, eax
push 6
push 0x511288
lea ecx, [esp + 0x50]
mov byte [esp + 0x19c], 0x16
call fcn.004bea10
push 1
push esi
push eax
push 2
mov ecx, ebp
mov byte [esp + 0x1a4], 0x17
call fcn.00446d60
lea ecx, [esp + 0x48]
mov esi, eax
mov byte [esp + 0x194], 0x16
call fcn.004beab0
lea ecx, [esp + 0x50]
mov byte [esp + 0x194], bl
call fcn.004beab0
push 0xa
call fcn.004bba40
add esp, 4
cmp si, bx
jl 0x44b070
cmp si, 2
jg 0x44b070
movsx edx, si
inc edx
cmp edx, 3
je 0x44bd88
mov eax, dword [0x4f73d0]
mov edx, dword [esp + 0x18]
sub eax, edx
cmp eax, 1
ja 0x44b109
call fcn.004deb1b
mov ecx, dword [esp + 0x18]
push ebx
lea edi, [ecx + 1]
lea ecx, [esp + 0x14]
push edi
call fcn.00412290
test al, al
je 0x44b137
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 0x44b14d
call fcn.004deb1b
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea edi, [eax + 1]
push edi
call fcn.00412290
test al, al
je 0x44b17d
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 0x44b224
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x511280
call fcn.004bea10
lea ecx, [esp + 0x80]
push ecx
call fcn.004d0560
add esp, 8
mov edx, dword [0x4f73d0]
lea ecx, [esp + 0x10]
push edx
push ebx
push eax
mov byte [esp + 0x1a0], 0x18
call fcn.00411f10
mov eax, dword [esp + 0x80]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44b20a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44b201
cmp al, 0xff
je 0x44b201
dec al
mov byte [ecx], al
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
jmp 0x44b317
push ecx
call fcn.004deb10
add esp, 4
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
jmp 0x44b317
cmp si, 1
jne 0x44b317
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x511278
call fcn.004bea10
lea eax, [esp + 0xc0]
push eax
call fcn.004d0560
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 0x44b26c
mov esi, eax
sub ecx, dword [esp + 0x18]
cmp ecx, esi
ja 0x44b279
call fcn.004deb1b
cmp esi, ebx
jbe 0x44b2c6
mov ecx, dword [esp + 0x18]
push ebx
lea ebp, [esi + ecx]
lea ecx, [esp + 0x14]
push ebp
call fcn.00412290
test al, al
je 0x44b2c6
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x44b29f
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.00412270
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44b2f5
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44b2ec
cmp al, 0xff
je 0x44b2ec
dec al
mov byte [ecx], al
jmp 0x44b2f5
push ecx
call fcn.004deb10
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, 0x50fbe8
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 0x44b33c
call fcn.004deb1b
cmp esi, ebx
jbe 0x44b381
mov ecx, dword [esp + 0x18]
push ebx
lea ebp, [esi + ecx]
lea ecx, [esp + 0x14]
push ebp
call fcn.00412290
test al, al
je 0x44b381
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, esi
mov esi, 0x50fbe8
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 0x511270
call fcn.004bea10
lea ecx, [esp + 0xf0]
push ecx
call fcn.004d0560
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 0x44b3bf
mov esi, eax
sub ecx, dword [esp + 0x18]
cmp ecx, esi
ja 0x44b3cc
call fcn.004deb1b
cmp esi, ebx
jbe 0x44b419
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea ebp, [esi + edx]
push ebp
call fcn.00412290
test al, al
je 0x44b419
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x44b3f2
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.00412270
mov eax, dword [esp + 0xf0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44b448
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44b43f
cmp al, 0xff
je 0x44b43f
dec al
mov byte [ecx], al
jmp 0x44b448
push ecx
call fcn.004deb10
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 0x50f9d0
lea ecx, [esp + 0x34]
call fcn.004bea10
mov esi, eax
push 6
push 0x511268
lea ecx, [esp + 0x54]
mov byte [esp + 0x19c], 0x1b
call fcn.004bea10
push 1
push esi
push eax
push 2
mov ecx, edi
mov byte [esp + 0x1a4], 0x1c
call fcn.00446d60
lea ecx, [esp + 0x4c]
mov esi, eax
mov byte [esp + 0x194], 0x1b
call fcn.004beab0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x194], bl
call fcn.004beab0
push 0xa
call fcn.004bba40
add esp, 4
cmp si, bx
jl 0x44b46f
cmp si, 2
jg 0x44b46f
movsx ecx, si
inc ecx
cmp ecx, 3
je 0x44bd88
mov edx, dword [0x4f73d0]
mov ecx, dword [esp + 0x18]
sub edx, ecx
cmp edx, 1
ja 0x44b509
call fcn.004deb1b
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea edi, [eax + 1]
push edi
call fcn.00412290
test al, al
je 0x44b539
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 0x44b54f
call fcn.004deb1b
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea edi, [edx + 1]
push edi
call fcn.00412290
test al, al
je 0x44b57d
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 0x44b676
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x511260
call fcn.004bea10
lea eax, [esp + 0xa0]
push eax
call fcn.004d0560
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 0x44b5c4
mov esi, eax
sub ecx, dword [esp + 0x18]
cmp ecx, esi
ja 0x44b5d1
call fcn.004deb1b
cmp esi, ebx
jbe 0x44b61e
mov ecx, dword [esp + 0x18]
push ebx
lea ebp, [esi + ecx]
lea ecx, [esp + 0x14]
push ebp
call fcn.00412290
test al, al
je 0x44b61e
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x44b5f7
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.00412270
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44b64d
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44b644
cmp al, 0xff
je 0x44b644
dec al
mov byte [ecx], al
jmp 0x44b64d
push ecx
call fcn.004deb10
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 0x44b76b
cmp si, 1
jne 0x44b76d
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x511258
call fcn.004bea10
lea eax, [esp + 0xb0]
push eax
call fcn.004d0560
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 0x44b6be
mov esi, eax
sub ecx, dword [esp + 0x18]
cmp ecx, esi
ja 0x44b6cb
call fcn.004deb1b
cmp esi, ebx
jbe 0x44b718
mov ecx, dword [esp + 0x18]
push ebx
lea ebp, [esi + ecx]
lea ecx, [esp + 0x14]
push ebp
call fcn.00412290
test al, al
je 0x44b718
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x44b6f1
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.00412270
mov eax, dword [esp + 0xb0]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44b747
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44b73e
cmp al, 0xff
je 0x44b73e
dec al
mov byte [ecx], al
jmp 0x44b747
push ecx
call fcn.004deb10
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 0x44b782
call fcn.004deb1b
mov ecx, dword [esp + 0x18]
push ebx
lea esi, [ecx + 1]
lea ecx, [esp + 0x14]
push esi
call fcn.00412290
test al, al
je 0x44b7b0
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 0x44b7c6
call fcn.004deb1b
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea esi, [eax + 1]
push esi
call fcn.00412290
test al, al
je 0x44b7f6
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 0x44b80c
call fcn.004deb1b
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea esi, [edx + 1]
push esi
call fcn.00412290
test al, al
je 0x44b83a
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 0x44b84f
call fcn.004deb1b
mov ecx, dword [esp + 0x18]
push ebx
lea esi, [ecx + 1]
lea ecx, [esp + 0x14]
push esi
call fcn.00412290
test al, al
je 0x44b87d
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 0x51129c
call fcn.004bea10
lea edx, [esp + 0x90]
push edx
call fcn.004d0560
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 0x44b8bb
mov esi, eax
sub ecx, dword [esp + 0x18]
cmp ecx, esi
ja 0x44b8c8
call fcn.004deb1b
cmp esi, ebx
jbe 0x44b915
mov eax, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea ebp, [eax + esi]
push ebp
call fcn.00412290
test al, al
je 0x44b915
mov eax, dword [edi + 4]
cmp eax, ebx
jne 0x44b8ee
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.00412270
mov eax, dword [esp + 0x90]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44b944
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44b93b
cmp al, 0xff
je 0x44b93b
dec al
mov byte [ecx], al
jmp 0x44b944
push ecx
call fcn.004deb10
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 0x511298
push eax
mov dword [esp + 0xa4], ebx
call fcn.004df246
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 0x44b9ba
call fcn.004deb1b
cmp esi, ebx
jbe 0x44ba01
mov edx, dword [esp + 0x18]
push ebx
lea ecx, [esp + 0x14]
lea ebp, [edx + esi]
push ebp
call fcn.00412290
test al, al
je 0x44ba01
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.004bea10
mov ecx, dword [0x52020c]
call fcn.004d10c0
mov ecx, dword [0x52020c]
push 1
call fcn.004c9da0
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x5106d4
call fcn.004bea10
mov ecx, dword [0x52020c]
call fcn.004d1240
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x5106cc
call fcn.004bea10
mov ecx, dword [0x52020c]
call fcn.004d1240
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.00411c90
push ecx
mov byte [esp + 0x1a8], 0x21
mov ecx, esp
mov dword [esp + 0x3c], esp
push 6
push 0x511250
call fcn.004bea10
mov ecx, dword [0x52020c]
mov byte [esp + 0x1a8], 0x20
call fcn.004d1410
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.00411c90
mov ecx, dword [0x52020c]
call fcn.004d12c0
mov ecx, dword [0x52020c]
call fcn.004d17f0
push 0xa
mov esi, eax
call fcn.004bba40
add esp, 4
cmp si, bx
jl 0x44bb30
cmp si, 1
jle 0x44bb6c
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x194], bl
cmp ecx, ebx
je 0x44bb5b
mov al, byte [ecx - 1]
cmp al, bl
je 0x44bb51
cmp al, 0xff
je 0x44bb51
dec al
mov byte [ecx - 1], al
jmp 0x44bb5b
dec ecx
push ecx
call fcn.004deb10
add esp, 4
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
jmp 0x44ba01
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x194], bl
cmp eax, ebx
je 0x44bb98
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x44bb8f
cmp al, 0xff
je 0x44bb8f
dec al
mov byte [ecx], al
jmp 0x44bb98
push ecx
call fcn.004deb10
add esp, 4
cmp si, 1
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
jne 0x44bdb0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x194], 0xffffffff
cmp ecx, ebx
je 0x44bbdd
mov al, byte [ecx - 1]
cmp al, bl
je 0x44bbd3
cmp al, 0xff
je 0x44bbd3
dec al
mov byte [ecx - 1], al
jmp 0x44bbdd
dec ecx
push ecx
call fcn.004deb10
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 0x44a71e
cmp si, 2
jne 0x44bdb0
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.00411e90
mov edi, 0x520168
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.00412290
test al, al
je 0x44bc62
mov ecx, ebp
mov eax, esi
mov edx, ecx
mov esi, 0x520168
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 0x50f8ec
mov byte [esp + 0x1bc], 0xc
call fcn.00411a00
sub esp, 0x10
lea edx, [esp + 0x67]
mov ecx, esp
mov dword [esp + 0x5c], esp
push edx
push 0x50fa38
mov byte [esp + 0x1cc], 0xd
call fcn.00411a00
sub esp, 0x10
lea eax, [esp + 0x76]
mov ecx, esp
mov dword [esp + 0x8c], esp
push eax
push 0x520168
mov byte [esp + 0x1dc], 0xe
call fcn.00411a00
push ecx
mov byte [esp + 0x1d8], 0xf
mov ecx, esp
mov dword [esp + 0x94], esp
push 6
push 0x50f634
call fcn.004bea10
push ecx
mov byte [esp + 0x1dc], 0x10
mov ecx, esp
mov dword [esp + 0x90], esp
push 6
push 0x511248
call fcn.004bea10
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x1dc], bl
call fcn.00448730
cmp eax, ebx
jge 0x44bd35
push 1
lea ecx, [esp + 0x14]
mov esi, 0xfffffffe
mov dword [esp + 0x198], 0xffffffff
call fcn.00411e90
jmp 0x44bdd6
mov ecx, eax
and ecx, 0x80000001
jns 0x44bd44
dec ecx
or ecx, 0xfffffffe
inc ecx
je 0x44bda7
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x50f634
call fcn.004bea10
push ecx
mov byte [esp + 0x1a4], 0x11
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x511240
call fcn.004bea10
mov ecx, 0x520200
mov byte [esp + 0x1a4], bl
call fcn.004cb760
mov ecx, dword [esp + 0x14]
mov esi, 0xfffffffe
cmp ecx, ebx
je 0x44bdd6
mov al, byte [ecx - 1]
cmp al, bl
je 0x44bdcc
cmp al, 0xff
je 0x44bdcc
dec al
mov byte [ecx - 1], al
jmp 0x44bdd6
mov edx, dword [esp + 0x1a0]
mov dword [edx], eax
mov ecx, dword [esp + 0x14]
xor esi, esi
cmp ecx, ebx
je 0x44bdd6
mov al, byte [ecx - 1]
cmp al, bl
je 0x44bdcc
cmp al, 0xff
je 0x44bdcc
dec al
mov byte [ecx - 1], al
jmp 0x44bdd6
dec ecx
push ecx
call fcn.004deb10
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