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

Disassembly:
sub esp, 0x44
mov eax, dword [esp + 0x5c]
push ebx
push ebp
xor ebx, ebx
cmp eax, ebx
push esi
mov esi, dword [esp + 0x54]
push edi
mov edi, dword [esp + 0x64]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
je 0x44e69b
cmp dword [esp + 0x70], ebx
mov dword [esp + 0x28], eax
jne 0x44e69f
mov dword [esp + 0x28], edi
mov ebp, dword [esi + 0xc]
cmp ebp, ebx
jne 0x44e6c3
mov eax, dword [esi]
call fcn.0042a6c0
mov ebp, eax
cmp ebp, ebx
mov dword [esi + 0xc], eax
je 0x44e6c3
push 0x84
call fcn.0042a890
add esp, 4
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0xc]
cmp ecx, ebx
mov dword [esp + 0x2c], ecx
lea eax, [edi + 1]
mov dword [esp + 0x10], ebx
jle 0x44e8bd
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x5c]
cmp ecx, dword [edx + 8]
je 0x44e89e
mov eax, edx
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x18]
movzx eax, byte [ecx + edx + 0x14]
add ecx, edx
cmp eax, ebx
je 0x44e89e
mov edx, dword [esp + 0x74]
cmp edx, 0x63
je 0x44e71b
mov eax, edx
jmp 0x44e720
cmp eax, 0x63
je 0x44e72a
cmp eax, 5
jne 0x44e72f
cmp dword [ecx + 4], ebx
jne 0x44e72f
mov eax, 2
lea ecx, [eax - 1]
cmp ecx, 3
ja 0x44e80b
jmp dword [ecx*4 + 0x44e614]
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x44e825
mov edi, ebp
call fcn.0042a7b0
test eax, eax
je 0x44e825
mov esi, 1
jmp 0x44e84e
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x14]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x4a
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + edx + 4]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x58]
push ecx
push eax
push edi
call fcn.00449af0
mov edx, dword [esp + 0x20]
add esp, 0xc
cmp eax, edx
je 0x44e88d
mov ecx, dword [edi + 0xc]
cmp ecx, ebx
je 0x44e88d
push edx
push eax
push 0xf
mov eax, ecx
call fcn.0042a940
add esp, 0xc
mov eax, dword [ebp + 0xc]
cmp eax, esi
jle 0x44e89e
mov ecx, dword [ebp + 0x14]
lea edx, [esi + esi*4]
mov dword [ecx + edx*4 + 8], eax
mov eax, dword [esp + 0x10]
add dword [esp + 0x14], 1
add dword [esp + 0x18], 0x18
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
jl 0x44e6e5
mov esi, dword [esp + 0x5c]
cmp dword [esi + 0x2c], ebx
je 0x44e933
mov edi, dword [esp + 0x58]
mov edx, dword [edi]
test dword [edx + 0xc], 0x2000
jne 0x44e933
mov eax, ebp
call fcn.0042a9d0
mov ecx, eax
mov eax, dword [esp + 0x64]
add eax, 1
push 8
mov dword [edi + 0x50], eax
mov eax, dword [esi + 0x2c]
push ecx
push eax
push edi
mov dword [esp + 0x3c], ecx
call fcn.0044b070
mov eax, dword [esp + 0x84]
add esp, 0x10
cmp eax, 0x63
jne 0x44e958
mov eax, 2
push ebx
push ebx
push eax
mov eax, edi
call fcn.0042a250
add esp, 0xc
mov eax, dword [ebp + 0x20]
cmp eax, ebx
je 0x44e933
mov edx, dword [esp + 0x2c]
lea ecx, [edx*4 + 4]
mov edx, dword [ebp + 0xc]
sub eax, ecx
mov dword [eax], edx
cmp dword [esp + 0x6c], ebx
je 0x44eb5f
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + 0x23]
mov ecx, dword [esp + 0x74]
cmp ecx, 0x63
mov dword [esp + 0x10], eax
je 0x44e99e
mov dword [esp + 0x10], ecx
jmp 0x44e9ab
cmp eax, 4
jne 0x44e90d
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x44e970
mov edi, ebp
call fcn.0042a7b0
test eax, eax
jne 0x44e91a
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x78]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x44e91a
cmp eax, 0x63
jne 0x44e9ab
mov dword [esp + 0x10], 2
cmp dword [esp + 0x70], ebx
je 0x44e9ff
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x44e9ce
mov edi, ebp
call fcn.0042a7b0
test eax, eax
je 0x44e9ce
mov dword [esp + 0x1c], 1
jmp 0x44e9ff
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov byte [eax], 0x4c
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov dword [esp + 0x1c], esi
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x44ea1c
mov edi, ebp
call fcn.0042a7b0
test eax, eax
je 0x44ea1c
mov dword [esp + 0x6c], 1
jmp 0x44ea4d
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x60]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x64]
mov byte [eax], 0x33
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov dword [esp + 0x6c], esi
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 1]
cmp eax, 4
ja 0x44eb14
jmp dword [eax*4 + 0x44e624]
mov ecx, 2
mov eax, dword [esp + 0x58]
push 0xfffffffffffffffe
push 0x4c2a54
push ecx
call fcn.0042a250
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jle 0x44eb42
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
cmp dword [esp + 0x70], ebx
je 0x44eb5f
mov eax, dword [ebp + 0xc]
cmp eax, dword [esp + 0x1c]
jle 0x44eb5f
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x14]
cmp eax, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x6c], eax
je 0x44f3f7
jmp 0x44eb80
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x1c]
cmp dword [ecx + edx*4], ebx
je 0x44f3df
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x58]
mov eax, dword [eax + 4]
mov ecx, dword [edx + 0x38]
mov edi, dword [edx + 0x3c]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x14], edi
jg 0x44ebec
lea esi, [edx + 0x70]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x18]
mov esi, dword [esi]
cmp esi, edi
jl 0x44ebce
lea edi, [edi + ecx - 1]
cmp esi, edi
jle 0x44ebec
mov edi, dword [esp + 0x14]
add dword [esp + 0x10], 1
add dword [esp + 0x18], 0x18
cmp dword [esp + 0x10], 0xa
jl 0x44ebb8
lea esi, [edi + eax]
sub ecx, eax
mov dword [edx + 0x3c], esi
mov dword [edx + 0x38], ecx
jmp 0x44ebfb
mov ecx, dword [edx + 0x48]
lea edi, [ecx + 1]
add ecx, eax
mov dword [esp + 0x14], edi
mov dword [edx + 0x48], ecx
mov ecx, dword [esp + 0x6c]
cmp dword [ecx + 4], ebx
mov dword [esp + 0x10], ebx
jle 0x44ecb8
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + ecx*4]
mov edx, dword [esp + 0x5c]
cmp eax, dword [edx + 8]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x2c], eax
jne 0x44ec51
cmp dword [ebp + 0x10], esi
jg 0x44ec3e
mov edi, ebp
call fcn.0042a7b0
test eax, eax
jne 0x44ec97
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x64]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
jmp 0x44ec7b
cmp dword [ebp + 0x10], esi
jg 0x44ec61
mov edi, ebp
call fcn.0042a7b0
test eax, eax
jne 0x44ec97
mov eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x64]
add dword [ebp + 0xc], 1
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x2c]
add ecx, 1
add edx, ecx
mov ecx, dword [esp + 0x18]
mov byte [eax], 0xf
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x6c]
add dword [esp + 0x18], 1
add eax, 1
cmp eax, dword [edx + 4]
mov dword [esp + 0x10], eax
jl 0x44ec10
mov edi, dword [esp + 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
cmp ecx, eax
mov dword [esp + 0x2c], eax
jg 0x44ed30
cmp ecx, ebx
lea eax, [ecx + ecx]
jne 0x44ecd2
mov eax, 0x33
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.00410310
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x44ed5f
mov eax, dword [ebp]
cmp eax, ebx
je 0x44ed10
cmp esi, dword [eax + 0xf0]
jb 0x44ed10
cmp esi, dword [eax + 0xf4]
jae 0x44ed10
movzx ecx, word [eax + 0xe0]
jmp 0x44ed1c
push esi
call dword [0x4d34dc]
add esp, 4
mov ecx, eax
mov eax, 0xcccccccd
mul ecx
mov eax, dword [esp + 0x2c]
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], esi
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x64]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x10]
add edi, ecx
mov byte [eax], 0xf
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx + eax*4]
mov edx, dword [esp + 0x6c]
mov esi, dword [edx + 4]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
add esi, 1
cmp eax, edi
mov dword [esp + 0x2c], ecx
jg 0x44edf7
cmp eax, ebx
je 0x44ed8a
add eax, eax
jmp 0x44ed8f
mov eax, 0x33
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp]
lea eax, [eax + eax*4]
add eax, eax
add eax, eax
push eax
push ecx
push edx
call fcn.00410310
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x44ee24
mov eax, dword [ebp]
cmp eax, ebx
je 0x44edd3
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0xf0]
jb 0x44edd3
cmp ecx, dword [eax + 0xf4]
jae 0x44edd3
movzx edx, word [eax + 0xe0]
jmp 0x44ede7
mov eax, dword [esp + 0x18]
push eax
call dword [0x4d34dc]
mov ecx, dword [esp + 0x1c]
add esp, 4
mov edx, eax
mov eax, 0xcccccccd
mul edx
shr edx, 4
mov dword [ebp + 0x10], edx
mov dword [ebp + 0x14], ecx
mov edx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea ecx, [edi + edi*4]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
mov byte [eax], 0x1e
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [esp + 0x6c]
mov eax, ebp
call fcn.0044c7b0
mov edi, dword [ebp + 0x14]
cmp edi, ebx
mov ecx, dword [ebp]
mov dword [esp + 0x18], eax
je 0x44eec8
cmp byte [ecx + 0x1e], bl
jne 0x44eec8
mov eax, dword [ebp + 0xc]
sub eax, 1
lea eax, [eax + eax*4]
mov edx, dword [edi + eax*4 + 0x10]
lea edi, [edi + eax*4]
movsx eax, byte [edi + 1]
push edx
push eax
push ecx
call fcn.0042ac70
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, ebx
mov dword [edi + 0x10], ebx
jne 0x44ee7c
mov dword [edi + 0x10], ebx
mov byte [edi + 1], bl
jmp 0x44eed3
cmp byte [eax], bl
je 0x44ee87
add eax, 1
cmp byte [eax], bl
jne 0x44ee80
sub eax, dword [esp + 0x18]
mov esi, dword [ebp]
and eax, 0x3fffffff
lea ecx, [eax + 1]
mov dword [esp + 0x10], eax
call fcn.004102a0
mov esi, eax
cmp esi, ebx
je 0x44eebf
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push ecx
push edx
push esi
call fcn.00485d60
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [esi + eax], bl
mov dword [edi + 0x10], esi
mov byte [edi + 1], 0xff
jmp 0x44eed3
push eax
push ebx
push ecx
call fcn.0042ac70
add esp, 0xc
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x58]
mov ecx, dword [ecx + 4]
add ecx, dword [esp + 0x14]
lea eax, [edx + 0x60]
mov dword [esp + 0x34], eax
add eax, 8
mov esi, 0xa
mov edi, dword [eax + 8]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x18], edi
jl 0x44ef0b
cmp dword [esp + 0x18], ecx
jg 0x44ef0b
mov byte [eax], 1
add eax, 0x18
sub esi, 1
jne 0x44eef1
mov ecx, dword [esp + 0x6c]
movzx eax, byte [ecx + 0x18]
cmp eax, ebx
mov dword [esp + 0x10], eax
jne 0x44ef3d
mov eax, dword [ecx + 4]
add eax, 1
cmp eax, dword [edx + 0x38]
jle 0x44f3df
mov dword [edx + 0x38], eax
mov dword [edx + 0x3c], edi
jmp 0x44f3df
mov ecx, dword [esp + 0x74]
cmp ecx, 0x63
je 0x44ef4a
mov eax, ecx
jmp 0x44ef54
cmp eax, 0x63
jne 0x44ef58
mov eax, 2
mov dword [esp + 0x10], eax
cmp dword [esp + 0x20], ebx
je 0x44ef7a
cmp eax, 4
jne 0x44ef6d
mov dword [esp + 0x10], 5
jmp 0x44ef7a
cmp eax, 3
jne 0x44ef7a
mov dword [esp + 0x10], 2
mov al, byte [edx + 0x15]
cmp al, bl
jne 0x44ef8e
add dword [edx + 0x48], 1
mov edx, dword [edx + 0x48]
mov dword [esp + 0x18], edx
jmp 0x44ef9e
sub al, 1
mov byte [edx + 0x15], al
movzx eax, al
mov ecx, dword [edx + eax*4 + 0x18]
mov dword [esp + 0x18], ecx
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x44efb1
mov edi, ebp
call fcn.0042a7b0
test eax, eax
jne 0x44efde
mov eax, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov ecx, dword [esp + 0x28]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x18]
mov byte [eax], 0xf
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x44effc
mov edi, ebp
call fcn.0042a7b0
test eax, eax
je 0x44effc
mov eax, 1
mov dword [esp + 0x2c], eax
jmp 0x44f037
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x1c]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x60]
lea edx, [edx + ecx + 1]
mov ecx, dword [esp + 0x18]
mov byte [eax], 0x32
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
mov eax, esi
mov dword [esp + 0x2c], esi
mov esi, dword [ebp + 0x14]
cmp esi, ebx
mov ecx, dword [ebp]
je 0x44f073
cmp byte [ecx + 0x1e], bl
jne 0x44f073
cmp eax, ebx
jge 0x44f050
mov eax, dword [ebp + 0xc]
sub eax, 1
lea edx, [eax + eax*4]
mov eax, dword [esi + edx*4 + 0x10]
lea esi, [esi + edx*4]
movsx edx, byte [esi + 1]
push eax
push edx
push ecx
call fcn.0042ac70
mov edi, dword [esp + 0x20]
mov dword [esi + 0x10], edi
mov byte [esi + 1], 0xf2
jmp 0x44f080
mov edi, dword [esp + 0x14]
push edi
push 0xfffffffffffffff2
push ecx
call fcn.0042ac70
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + 4]
mov esi, dword [esp + 0x64]
add eax, 1
add esp, 0xc
cmp eax, dword [esi + 0x38]
jle 0x44f09c
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], edi
mov eax, dword [esp + 0x10]
cmp eax, ebx
jle 0x44f31b
cmp eax, 3
jle 0x44f0fb
cmp eax, 4
jne 0x44f31b
mov esi, dword [ebp + 0xc]
cmp dword [ebp + 0x10], esi
jg 0x44f0cd
mov edi, ebp
call fcn.0042a7b0
test eax, eax
jne 0x44f38f
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
mov edx, dword [esp + 0x78]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 1
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov byte [ebp + 0x6e], bl
jmp 0x44f38f
mov eax, dword [esi]
mov dword [esp + 0x38], eax
mov eax, dword [ecx + 4]
cmp eax, 1
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], 0xc8
mov byte [esp + 0x51], 1
mov byte [esp + 0x52], bl
mov byte [esp + 0x50], bl
mov dword [esp + 0x14], 0x4c2a70
jg 0x44f13e
mov dword [esp + 0x14], 0x4c2a7c
xor esi, esi
cmp eax, ebx
jle 0x44f192
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 8]
mov eax, dword [edx + esi*4]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x14]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8]
push 0xffffffffffffffff
push ecx
lea edi, [esp + 0x40]
mov dword [esp + 0x38], eax
call fcn.00412370
mov edx, dword [esp + 0x38]
push 0xffffffffffffffff
push edx
mov dword [esp + 0x24], 0x4c2a84
call fcn.00412370
mov eax, dword [esp + 0x7c]
add esi, 1
add esp, 0x10
cmp esi, dword [eax + 4]
jl 0x44f144
mov ecx, dword [esp + 0x6c]
cmp dword [ecx + 4], 1
mov eax, 0x4c2a88
jg 0x44f1a6
mov eax, 0x4c2a98
push 0xffffffffffffffff
push eax
lea edi, [esp + 0x40]
call fcn.00412370
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x40]
add esp, 8
cmp esi, ebx
je 0x44f2af
cmp byte [esp + 0x51], bl
mov eax, dword [esp + 0x44]
mov byte [eax + esi], bl
je 0x44f2af
cmp esi, dword [esp + 0x3c]
jne 0x44f2af
add eax, 1
cmp edi, ebx
mov dword [esp + 0x14], eax
je 0x44f239
cmp byte [edi + 0x1e], bl
je 0x44f1f7
xor esi, esi
jmp 0x44f298
cmp byte [edi + 0xe2], bl
je 0x44f239
movzx edx, word [edi + 0xe0]
cmp eax, edx
jg 0x44f239
mov esi, dword [edi + 0xec]
cmp esi, ebx
je 0x44f239
mov eax, dword [esi]
add dword [edi + 0xe4], 1
mov dword [edi + 0xec], eax
mov eax, dword [edi + 0xe4]
cmp eax, dword [edi + 0xe8]
jle 0x44f298
mov dword [edi + 0xe8], eax
jmp 0x44f298
add eax, 0xffffffff
cmp eax, 0x7ffffefe
ja 0x44f308
cmp dword [0x4d34b8], ebx
je 0x44f2f4
mov eax, dword [0x4d68a0]
cmp eax, ebx
je 0x44f266
push eax
call dword [0x4d3500]
add esp, 4
mov eax, dword [esp + 0x14]
lea ebx, [esp + 0x24]
call fcn.0040fcc0
mov eax, dword [0x4d68a0]
test eax, eax
je 0x44f286
push eax
call dword [0x4d3508]
add esp, 4
xor ebx, ebx
mov esi, dword [esp + 0x24]
cmp esi, ebx
jne 0x44f29c
cmp edi, ebx
je 0x44f298
mov byte [edi + 0x1e], 1
cmp esi, ebx
je 0x44f2af
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
push edx
push eax
push esi
call fcn.00485d60
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
push ebx
push esi
push ecx
call fcn.0042a250
add esp, 0xc
cmp edi, ebx
je 0x44f310
cmp esi, ebx
je 0x44f310
cmp esi, dword [edi + 0xf0]
jb 0x44f310
cmp esi, dword [edi + 0xf4]
jae 0x44f310
mov edx, dword [edi + 0xec]
mov dword [esi], edx
add dword [edi + 0xe4], 0xffffffff
mov dword [edi + 0xec], esi
jmp 0x44f38f
mov ecx, dword [esp + 0x14]
push ecx
call dword [0x4d34d0]
add esp, 4
mov dword [esp + 0x24], eax
jmp 0x44f288
xor esi, esi
mov dword [esp + 0x24], esi
jmp 0x44f290
push esi
call fcn.00410050
add esp, 4
jmp 0x44f38f
mov eax, dword [esi + 0x1a8]
xor edi, edi
cmp eax, ebx
jne 0x44f329
mov eax, esi
mov byte [eax + 0x158], 1
mov eax, dword [esi]
test dword [eax + 0xc], 0x200000
je 0x44f36b
mov ecx, dword [esp + 0x5c]
push ecx
mov eax, esi
xor edi, edi
call fcn.00433c80
add esp, 4
cmp eax, ebx
mov ecx, eax
je 0x44f365
cmp byte [ecx + 8], 0x69
jne 0x44f35e
movzx edx, byte [ecx + 9]
or edi, edx
mov ecx, dword [ecx + 0x20]
cmp ecx, ebx
jne 0x44f352
neg edi
sbb edi, edi
and edi, eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
push 5
push edi
push ebx
push eax
push ecx
push edx
push esi
call fcn.00451dd0
add esp, 0x1c
mov dword [esp + 0x20], 1
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
jle 0x44f3a4
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
cmp dword [esp + 0x18], ebx
je 0x44f3df
mov eax, dword [esp + 0x58]
mov dl, byte [eax + 0x15]
cmp dl, 8
jae 0x44f3df
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
xor eax, eax
cmp dword [ecx + 0x10], esi
je 0x44f40d
add eax, 1
add ecx, 0x18
cmp eax, 0xa
jl 0x44f3c0
mov eax, dword [esp + 0x58]
movzx ecx, dl
mov dword [eax + ecx*4 + 0x18], esi
add byte [eax + 0x15], 1
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + 0x20]
add dword [esp + 0x1c], 1
cmp eax, ebx
mov dword [esp + 0x6c], eax
jne 0x44eb80
mov eax, dword [esp + 0x7c]
cmp eax, ebx
je 0x44f405
mov ecx, dword [esp + 0x20]
mov dword [eax], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov byte [ecx + 9], 1
jmp 0x44f3df