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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc8]
cmp eax, dword [ecx + 8]
jbe 0x43b775
sub esp, 0x148
xor ebx, ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov eax, dword [esp + 0x14c]
cmp eax, 0
je 0x43b76e
add eax, 0xc
mov dword [esp + 0xd8], eax
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
mov dword [esp + 0xdc], ebp
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
mov dword [esp + 0xe0], ebp
lea ebx, [esp + 0xd8]
cmp ebx, 0
je 0x43b767
mov edi, dword [ebx]
mov dword [esp + 0xe4], edi
mov esi, dword [ebx + 4]
mov dword [esp + 0xe8], esi
mov ebp, dword [ebx + 8]
mov dword [esp + 0xec], ebp
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
cmp dword [0x6dbd6c], 0
jb 0x43a0e4
ja 0x43a079
cmp dword [0x6dbd68], 0
jbe 0x43a0e4
call fcn.00453b50
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
mov eax, dword [esp]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
xor ecx, ecx
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
cmp ebp, ecx
jle 0x43a0e4
mov dword [esp + 0x64], 0xffffffff
mov edx, 0xffffffff
mov ebx, ecx
cmp ecx, esi
jae 0x43b760
mov ebp, edi
imul ebx, ebx, 0x1c
add ebp, ebx
mov eax, dword [esp + 0x64]
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], edx
inc ecx
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
cmp ebp, ecx
jg 0x43a0ac
xor ebx, ebx
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0x14c]
mov ebp, dword [ebx + 4]
mov dword [esp + 0xf0], ebp
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
mov dword [esp + 0xf4], ebp
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
mov dword [esp + 0xf8], ebp
lea ebx, [esp + 0xf0]
cmp ebx, 0
je 0x43b759
mov ebp, dword [ebx]
mov dword [esp + 0xfc], ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 0x100], ebp
mov ebp, dword [ebx + 8]
mov dword [esp + 0x104], ebp
mov ecx, 1
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
mov dword [esp + 0x34], ecx
cmp ebp, ecx
jle 0x43a236
call fcn.00454220
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
mov ebx, dword [esp]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
mov ebp, dword [esp + 0x34]
inc ebp
mov eax, ebx
cmp ebp, 0xffffffff
je 0x43a22f
cdq
idiv ebp
mov ecx, edx
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov ebx, ecx
mov ebp, dword [esp + 0x100]
cmp ecx, ebp
jae 0x43a228
mov ebp, dword [esp + 0xfc]
shl ebx, 1
add ebp, ebx
movzx ebx, word [ebp]
mov edx, ebx
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x100]
cmp ebx, ebp
jae 0x43a221
mov ebp, dword [esp + 0xfc]
shl ebx, 1
add ebp, ebx
mov word [ebp], dx
mov edx, dword [esp + 0x34]
mov ebx, ecx
mov ebp, dword [esp + 0x100]
cmp ecx, ebp
jae 0x43a21a
mov ebp, dword [esp + 0xfc]
shl ebx, 1
add ebp, ebx
mov word [ebp], dx
mov ecx, dword [esp + 0x34]
inc ecx
jmp 0x43a162
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
xor ecx, ecx
jmp 0x43a1ac
xor ebx, ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0x14c]
mov ebp, dword [ebx + 8]
mov dword [esp + 0x108], ebp
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
mov dword [esp + 0x10c], ebp
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
mov dword [esp + 0x110], ebp
lea ebx, [esp + 0x108]
cmp ebx, 0
je 0x43b752
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
mov ebp, dword [ebx + 8]
mov dword [esp + 0x11c], ebp
mov dword [esp + 0x38], 0
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
mov ebx, dword [esp + 0x38]
cmp ebp, ebx
jle 0x43a450
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x100]
cmp ebx, ebp
jae 0x43a449
mov ebp, dword [esp + 0xfc]
shl ebx, 1
add ebp, ebx
movzx ebx, word [ebp]
cmp ebx, esi
jae 0x43a442
mov ebp, edi
imul ebx, ebx, 0x1c
add ebp, ebx
mov ebx, dword [ebp + 4]
mov dword [esp + 0xc8], ebx
cmp edx, 0
jle 0x43a3d2
mov ebx, edx
dec ebx
mov dword [esp + 0x50], ebx
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x44], ebp
mov ebx, dword [esp + 0x44]
sar ebx, 0x1f
mov ebp, dword [esp + 0x50]
sub ebp, ebx
mov dword [esp + 0x50], ebp
mov ebx, dword [esp + 0x50]
sar ebx, 1
cmp ebx, eax
jae 0x43a43b
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [ebp]
cmp ebx, esi
jae 0x43a434
mov ebp, edi
imul ebx, ebx, 0x1c
add ebp, ebx
mov ebx, dword [ebp + 4]
mov dword [esp + 0x1c], ebx
mov ebp, dword [esp + 0xc8]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x58], ebx
cmp dword [esp + 0x58], ebp
jae 0x43a3d2
mov ebx, edx
dec ebx
mov dword [esp + 0x50], ebx
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x44], ebp
mov ebx, dword [esp + 0x44]
sar ebx, 0x1f
mov ebp, dword [esp + 0x50]
sub ebp, ebx
mov dword [esp + 0x50], ebp
mov ebx, dword [esp + 0x50]
sar ebx, 1
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x28]
cmp ebx, eax
jae 0x43a42d
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [ebp]
mov word [esp + 0x1a], bx
mov ebx, edx
cmp edx, eax
jae 0x43a426
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [esp + 0x1a]
mov word [ebp], bx
mov edx, dword [esp + 0x28]
cmp edx, 0
jg 0x43a308
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x100]
cmp ebx, ebp
jae 0x43a41f
mov ebp, dword [esp + 0xfc]
shl ebx, 1
add ebp, ebx
movzx ebx, word [ebp]
mov word [esp + 0x1a], bx
mov ebx, edx
cmp edx, eax
jae 0x43a418
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [esp + 0x1a]
mov word [ebp], bx
mov ebx, dword [esp + 0x38]
inc ebx
mov dword [esp + 0x38], ebx
jmp 0x43a2a9
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
mov ebx, ebp
dec ebx
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x3c]
cmp ebx, 0
jl 0x43a52a
mov ebx, dword [esp + 0x3c]
cmp ebx, eax
jae 0x43b74b
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [ebp]
mov word [esp + 0x18], bx
movzx ebx, word [esp + 0x18]
cmp ebx, esi
jae 0x43b744
mov ebp, edi
imul ebx, ebx, 0x1c
add ebp, ebx
mov ebx, dword [ebp + 4]
mov dword [esp + 0xc4], ebx
cmp eax, 0
jbe 0x43b73d
movzx ebp, word [ecx]
mov word [esp + 0x1a], bp
mov ebx, dword [esp + 0x3c]
cmp ebx, eax
jae 0x43b736
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [esp + 0x1a]
mov word [ebp], bx
mov dword [esp + 0x2c], 0
mov edx, dword [esp + 0x2c]
shl edx, 1
inc edx
mov ebp, dword [esp + 0x3c]
cmp edx, ebp
jl 0x43b623
movzx ebx, word [esp + 0x18]
mov word [esp + 0x1a], bx
mov ebx, dword [esp + 0x2c]
cmp ebx, eax
jae 0x43b61c
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [esp + 0x1a]
mov word [ebp], bx
mov ebx, dword [esp + 0x3c]
dec ebx
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x3c]
cmp ebx, 0
jge 0x43a46f
mov dword [esp], edi
mov dword [esp + 4], esi
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov dword [esp + 0x114], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x118], eax
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x14], ebx
call fcn.00439cd0
mov dword [esp + 0x40], 0
mov dword [esp + 0xb8], 0
xor esi, esi
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
cmp ebp, esi
jle 0x43a8da
mov dword [esp + 0x30], esi
mov ebx, esi
mov ebp, dword [esp + 0x100]
cmp esi, ebp
jae 0x43b615
mov ebp, dword [esp + 0xfc]
shl ebx, 1
add ebp, ebx
movzx ebx, word [ebp]
mov ebp, dword [esp + 0xe8]
cmp ebx, ebp
jae 0x43b60e
mov ecx, dword [esp + 0xe4]
imul ebx, ebx, 0x1c
add ecx, ebx
mov edx, dword [ecx + 4]
mov dword [esp + 0xbc], ecx
movzx ebp, word [ecx + 0xc]
cmp bp, 1
jne 0x43b3bb
mov dword [esp + 0xc0], edx
mov dword [esp], edx
cmp dword [esp], 0
je 0x43b3b0
add dword [esp], 0x28
call fcn.00406e20
mov ecx, dword [esp + 0xc0]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 4]
xor ebp, ebp
cmp eax, ebp
je 0x43a72b
xor edx, edx
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], edx
mov dword [esp + 0x134], edx
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], edx
mov dword [esp + 0x144], edx
lea edx, [esp + 0x12c]
mov esi, 0x44f0b0
mov dword [edx], esi
mov ebp, dword [esp + 0xe4]
mov dword [edx + 4], ebp
mov ebp, dword [esp + 0xe8]
mov dword [edx + 8], ebp
mov ebp, dword [esp + 0xec]
mov dword [edx + 0xc], ebp
mov ebp, dword [esp + 0x114]
mov dword [edx + 0x10], ebp
mov ebp, dword [esp + 0x118]
mov dword [edx + 0x14], ebp
mov ebp, dword [esp + 0x11c]
mov dword [edx + 0x18], ebp
mov dword [esp], ecx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
call fcn.00406bd0
mov ecx, dword [esp + 0xbc]
mov ebp, dword [ecx + 0x10]
xor ebx, ebx
cmp ebp, ebx
je 0x43a6cc
mov eax, 1
mov ebp, dword [ecx + 0x10]
mov byte [ebp], al
mov ebp, dword [ecx + 0x14]
mov eax, dword [ecx + 0x18]
cmp eax, 0
jl 0x43a70e
jg 0x43a6de
cmp ebp, 0
jbe 0x43a70e
mov dword [esp + 0xbc], ecx
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x18]
sub eax, dword [esp + 0x5c]
sbb edx, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 2
call fcn.004246d0
mov ecx, dword [esp + 0xbc]
mov ebp, dword [ecx + 8]
mov dword [esp + 0x150], ebp
movzx ebp, word [ecx + 0xe]
mov word [esp + 0x154], bp
add esp, 0x148
ret
mov ebp, dword [ecx]
cmp ebp, 0
jbe 0x43a82b
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 0x10]
xor ebx, ebx
cmp ebp, ebx
je 0x43a758
mov eax, 1
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx + 0x10]
mov byte [ebp], al
mov esi, dword [ecx + 0x1c]
movzx ebp, word [ecx + 0xc]
imul esi, ebp
mov edx, dword [ecx + 8]
add edx, esi
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
xor ebx, ebx
cmp ebp, ebx
je 0x43a7a7
mov ebp, dword [ecx + 0x14]
mov dword [esp], ebp
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
mov dword [esp + 4], ebp
mov dword [esp + 0xa4], edx
mov dword [esp + 8], edx
call fcn.00410760
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0xc0]
mov dword [esp], edx
movzx ebp, word [ecx + 0xc]
mov dword [esp + 4], ebp
call fcn.00454850
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x1c]
inc ecx
mov dword [eax + 0x1c], ecx
mov ecx, dword [eax + 0x1c]
mov ebp, dword [eax + 4]
cmp ecx, ebp
jne 0x43a7d4
xor ecx, ecx
mov dword [eax + 0x1c], ecx
mov ecx, dword [eax]
dec ecx
mov dword [eax], ecx
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x14], ebx
call fcn.00439d90
mov ecx, dword [esp + 0xbc]
jmp 0x43a6cc
mov ebp, dword [ecx + 0x10]
cmp ebp, 0
je 0x43a8c6
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x14], ebx
call fcn.00439d90
mov ecx, dword [esp + 0xbc]
mov ebp, dword [ecx + 0x10]
xor ebx, ebx
cmp ebp, ebx
je 0x43a895
xor eax, eax
mov ebp, dword [ecx + 0x10]
mov byte [ebp], al
mov ebp, dword [ecx]
xor ebx, ebx
cmp ebp, ebx
je 0x43a6cc
mov ebp, dword [ecx]
mov dword [esp], ebp
mov ebx, dword [esp + 0xc0]
movzx ebp, word [ebx + 0xc]
mov dword [esp + 4], ebp
call fcn.00454850
mov ecx, dword [esp + 0xbc]
jmp 0x43a6cc
inc esi
mov ebx, dword [esp + 0x14c]
movzx ebp, word [ebx + 2]
cmp ebp, esi
jg 0x43a58a
mov ebx, dword [esp + 0xb8]
xor ebp, ebp
cmp ebx, ebp
je 0x43a939
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x14], ebx
call fcn.00439d90
mov ecx, dword [esp + 0xb8]
jmp 0x43a6cc
mov ebx, dword fs:[0x14]
mov ebx, dword [ebx]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x40], 0
mov ebx, dword [esp + 0xb4]
mov ebp, dword [ebx + 0xc8]
xor ebx, ebx
cmp ebp, ebx
je 0x43a97d
mov ebx, 0x5fa83c
mov dword [esp], ebx
mov dword [esp + 4], 0x11
call fcn.0042b7d0
mov eax, dword [esp + 0xb4]
cmp eax, 0
je 0x43b3a9
add eax, 0xc8
mov dword [esp + 0xb0], eax
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x118]
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x128], ebx
xor ecx, ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x120], edx
mov eax, edx
mov ebp, dword [esp + 0x44]
cmp ecx, ebp
jge 0x43ab92
mov dword [esp + 0xcc], eax
movzx ebp, word [eax]
mov dword [esp + 0x50], ecx
movzx ebx, bp
mov ebp, dword [esp + 0xe8]
cmp ebx, ebp
jae 0x43b3a2
mov ebp, dword [esp + 0xe4]
imul ebx, ebx, 0x1c
add ebp, ebx
mov dword [esp + 0xbc], ebp
mov ebp, dword [ebp + 4]
mov dword [esp + 0xc0], ebp
call fcn.0042d2e0
mov ecx, dword [esp]
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x9c], ecx
cmp ecx, 0
je 0x43b39b
cmp byte [0x6dbe18], 0
jne 0x43b383
mov dword [ecx], eax
lea ebx, [esp + 0x40]
xor ebx, 0
cmp ecx, 0
je 0x43b37c
cmp byte [0x6dbe18], 0
jne 0x43b361
mov dword [ecx + 4], ebx
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
cmp ecx, 0
je 0x43b35a
cmp byte [0x6dbe18], 0
jne 0x43b33f
mov dword [ecx + 0x10], ebp
xor ebp, ebp
xor edx, edx
mov dword [ecx + 0x14], ebp
mov dword [ecx + 0x18], edx
cmp dword [esp + 0x60], 0
jne 0x43aa9c
cmp dword [esp + 0x5c], 0
je 0x43aaac
mov ebp, 0xffffffff
mov edx, 0xffffffff
mov dword [ecx + 0x14], ebp
mov dword [ecx + 0x18], edx
mov eax, dword [esp + 0xc0]
cmp ecx, 0
je 0x43b338
cmp byte [0x6dbe18], 0
jne 0x43b31d
mov dword [ecx + 0x24], eax
mov ebx, dword [esp + 0xb0]
cmp ebx, 0
je 0x43b316
cmp byte [0x6dbe18], 0
jne 0x43b2fe
mov dword [ebx], ecx
mov eax, ecx
cmp ecx, 0
je 0x43b2f7
add eax, 0x20
mov dword [esp + 0xb0], eax
mov ebx, dword [esp + 0xbc]
movzx ebp, word [ebx + 0xc]
cmp bp, 1
jne 0x43b1bc
mov edx, dword [esp + 0xc0]
cmp edx, 0
je 0x43b1b5
add edx, 0x20
mov eax, ecx
xor ecx, ecx
mov dword [eax + 8], ecx
mov dword [esp + 0xa8], edx
mov ecx, dword [edx + 4]
xor ebp, ebp
cmp ecx, ebp
jne 0x43b110
xor ecx, ecx
mov dword [eax + 0xc], ecx
mov dword [esp + 0x84], eax
cmp byte [0x6dbe18], 0
jne 0x43b0f1
mov dword [edx], eax
cmp edx, 0
je 0x43b0ea
cmp byte [0x6dbe18], 0
jne 0x43b0d6
mov dword [edx + 4], eax
mov eax, dword [esp + 0xcc]
add eax, 2
mov ecx, dword [esp + 0x50]
inc ecx
mov ebp, dword [esp + 0x44]
cmp ecx, ebp
jl 0x43a9d7
xor eax, eax
mov ebx, dword [esp + 0xb4]
mov dword [ebx + 0x58], eax
mov ebx, 0x61bc38
mov dword [esp], ebx
mov dword [esp + 4], 0
mov ebx, 0x5f7a9a
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 6
mov byte [esp + 0x10], 0x18
mov dword [esp + 0x14], 2
call fcn.0042d0a0
xor eax, eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], eax
lea eax, [esp + 0x12c]
mov ecx, 0x44f050
mov dword [eax], ecx
mov ebp, dword [esp + 0xe4]
mov dword [eax + 4], ebp
mov ebp, dword [esp + 0xe8]
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0xec]
mov dword [eax + 0xc], ebp
mov ebp, dword [esp + 0x114]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0x118]
mov dword [eax + 0x14], ebp
mov ebp, dword [esp + 0x11c]
mov dword [eax + 0x18], ebp
mov dword [esp], eax
call fcn.00452130
mov ecx, dword [esp + 0xb4]
mov ebp, dword [ecx + 0x58]
mov dword [esp + 0xa0], ebp
xor eax, eax
mov dword [ecx + 0x58], eax
xor esi, esi
mov dword [esp + 0xbc], esi
mov ebp, dword [ecx + 0xc8]
mov dword [esp + 0x98], ebp
mov eax, dword [ecx + 0xc8]
xor ebp, ebp
cmp eax, ebp
je 0x43aca6
xor edx, edx
mov dword [eax + 4], edx
xor edx, edx
mov dword [eax + 0x10], edx
xor edx, edx
mov dword [eax + 0x24], edx
mov eax, dword [eax + 0x20]
xor ebp, ebp
cmp eax, ebp
jne 0x43ac8e
xor eax, eax
mov dword [ecx + 0xc8], eax
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x118]
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x128], ebx
xor ecx, ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x120], edx
mov eax, edx
mov ebp, dword [esp + 0x44]
cmp ecx, ebp
jge 0x43adbd
mov dword [esp + 0xcc], eax
movzx ebp, word [eax]
mov dword [esp + 0x50], ecx
movzx ebx, bp
mov ebp, dword [esp + 0xe8]
cmp ebx, ebp
jae 0x43b0cf
mov ecx, dword [esp + 0xe4]
imul ebx, ebx, 0x1c
add ecx, ebx
mov ebx, dword [esp + 0x98]
mov ebp, dword [ebx + 0x14]
mov eax, dword [ebx + 0x18]
cmp eax, 0
jl 0x43ad44
jg 0x43ad31
cmp ebp, 0
jbe 0x43ad44
mov ebx, dword [esp + 0x98]
mov ebp, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov dword [ecx + 0x14], ebp
mov dword [ecx + 0x18], edx
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x98]
cmp ebx, ebp
jne 0x43ae3a
mov dword [esp + 0xbc], ecx
mov ebx, dword [esp + 0x98]
mov ebp, dword [ebx + 0x20]
mov dword [esp + 0x94], ebp
xor eax, eax
mov ebx, dword [esp + 0x98]
mov dword [ebx + 0x20], eax
mov ebx, dword [esp + 0x98]
mov dword [esp], ebx
call fcn.0042d670
mov esi, dword [esp + 0xbc]
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x98], ebx
mov eax, dword [esp + 0xcc]
add eax, 2
mov ecx, dword [esp + 0x50]
inc ecx
mov ebp, dword [esp + 0x44]
cmp ecx, ebp
jl 0x43acec
xor ebp, ebp
cmp esi, ebp
je 0x43a56a
mov ebp, dword [esi + 4]
movzx ebp, word [esi + 0xc]
cmp bp, 1
jne 0x43ade8
mov ebp, dword [esi + 0x10]
xor ebx, ebx
cmp ebp, ebx
je 0x43ade8
mov eax, 1
mov ebp, dword [esi + 0x10]
mov byte [ebp], al
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x14], ebx
call fcn.00439d90
mov ecx, dword [esp + 0xbc]
jmp 0x43a6cc
mov eax, dword [ecx + 4]
movzx ebp, word [ecx + 0xc]
cmp bp, 2
jne 0x43af8d
cmp eax, 0
je 0x43af86
add eax, 0x28
mov esi, dword [esp + 0x98]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x88], esi
mov ecx, dword [esi + 8]
xor ebp, ebp
cmp edx, ebp
je 0x43af30
xor ebp, ebp
cmp ecx, ebp
je 0x43aef4
mov dword [esp + 0x70], ecx
mov dword [esp + 0x7c], edx
cmp edx, 0
je 0x43aef0
cmp byte [0x6dbe18], 0
jne 0x43aed0
mov dword [edx + 8], ecx
cmp ecx, 0
je 0x43aecc
cmp byte [0x6dbe18], 0
jne 0x43aeb4
mov dword [ecx + 0xc], edx
xor eax, eax
mov dword [esi + 8], eax
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x43ad61
lea esi, [ecx + 0xc]
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.00410660
mov esi, dword [esp + 0x88]
jmp 0x43aea5
mov dword [ecx], eax
jmp 0x43ae99
lea esi, [edx + 8]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.00410660
mov esi, dword [esp + 0x88]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x70]
jmp 0x43ae94
mov dword [edx], eax
jmp 0x43ae88
xor ecx, ecx
mov dword [edx + 8], ecx
cmp eax, 0
je 0x43af2c
cmp byte [0x6dbe18], 0
jne 0x43af14
mov dword [eax + 4], edx
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x43ad61
lea esi, [eax + 4]
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.00410660
mov esi, dword [esp + 0x88]
jmp 0x43af0a
mov dword [eax], eax
jmp 0x43aefe
xor ebp, ebp
cmp ecx, ebp
je 0x43af6e
xor edx, edx
mov dword [ecx + 0xc], edx
cmp eax, 0
je 0x43af6a
cmp byte [0x6dbe18], 0
jne 0x43af55
mov dword [eax], ecx
xor eax, eax
mov dword [esi + 8], eax
jmp 0x43ad61
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00410660
mov esi, dword [esp + 0x88]
jmp 0x43af4b
mov dword [eax], eax
jmp 0x43af40
mov ebp, dword [eax]
cmp ebp, esi
jne 0x43ad61
xor ecx, ecx
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
jmp 0x43ad61
mov dword [eax], eax
jmp 0x43ae54
cmp eax, 0
je 0x43b0c8
add eax, 0x20
mov esi, dword [esp + 0x98]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x8c], esi
mov ecx, dword [esi + 8]
xor ebp, ebp
cmp edx, ebp
je 0x43b072
xor ebp, ebp
cmp ecx, ebp
je 0x43b036
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x78], edx
cmp edx, 0
je 0x43b032
cmp byte [0x6dbe18], 0
jne 0x43b012
mov dword [edx + 8], ecx
cmp ecx, 0
je 0x43b00e
cmp byte [0x6dbe18], 0
jne 0x43aff6
mov dword [ecx + 0xc], edx
xor eax, eax
mov dword [esi + 8], eax
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x43ad61
lea esi, [ecx + 0xc]
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.00410660
mov esi, dword [esp + 0x8c]
jmp 0x43afe7
mov dword [ecx], eax
jmp 0x43afdb
lea esi, [edx + 8]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.00410660
mov esi, dword [esp + 0x8c]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
jmp 0x43afd6
mov dword [edx], eax
jmp 0x43afca
xor ecx, ecx
mov dword [edx + 8], ecx
cmp eax, 0
je 0x43b06e
cmp byte [0x6dbe18], 0
jne 0x43b056
mov dword [eax + 4], edx
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x43ad61
lea esi, [eax + 4]
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.00410660
mov esi, dword [esp + 0x8c]
jmp 0x43b04c
mov dword [eax], eax
jmp 0x43b040
xor ebp, ebp
cmp ecx, ebp
je 0x43b0b0
xor edx, edx
mov dword [ecx + 0xc], edx
cmp eax, 0
je 0x43b0ac
cmp byte [0x6dbe18], 0
jne 0x43b097
mov dword [eax], ecx
xor eax, eax
mov dword [esi + 8], eax
jmp 0x43ad61
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00410660
mov esi, dword [esp + 0x8c]
jmp 0x43b08d
mov dword [eax], eax
jmp 0x43b082
mov ebp, dword [eax]
cmp ebp, esi
jne 0x43ad61
xor ecx, ecx
mov dword [eax], ecx
xor ecx, ecx
mov dword [eax + 4], ecx
jmp 0x43ad61
mov dword [eax], eax
jmp 0x43af96
call fcn.00429b10
ud2
lea esi, [edx + 4]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00410660
jmp 0x43ab77
mov dword [edx], eax
jmp 0x43ab67
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00410660
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x84]
jmp 0x43ab5e
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
cmp byte [0x6dbe18], 0
jne 0x43b18c
mov dword [eax + 0xc], ecx
cmp ecx, 0
je 0x43b188
cmp byte [0x6dbe18], 0
jne 0x43b169
mov dword [ecx + 8], eax
cmp edx, 0
je 0x43b165
cmp byte [0x6dbe18], 0
jne 0x43b151
mov dword [edx + 4], eax
jmp 0x43ab77
lea esi, [edx + 4]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00410660
jmp 0x43ab77
mov dword [edx], eax
jmp 0x43b140
lea esi, [ecx + 8]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00410660
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x84]
jmp 0x43b13b
mov dword [ecx], eax
jmp 0x43b12f
lea esi, [eax + 0xc]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.00410660
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0x84]
jmp 0x43b12a
mov dword [edx], eax
jmp 0x43ab25
cmp bp, 2
jne 0x43ab77
mov edx, dword [esp + 0xc0]
cmp edx, 0
je 0x43b2f0
add edx, 0x28
mov eax, ecx
xor ecx, ecx
mov dword [eax + 8], ecx
mov dword [esp + 0xac], edx
mov ecx, dword [edx + 4]
xor ebp, ebp
cmp ecx, ebp
jne 0x43b251
xor ecx, ecx
mov dword [eax + 0xc], ecx
mov dword [esp + 0x90], eax
cmp byte [0x6dbe18], 0
jne 0x43b235
mov dword [edx], eax
cmp edx, 0
je 0x43b231
cmp byte [0x6dbe18], 0
jne 0x43b21d
mov dword [edx + 4], eax
jmp 0x43ab77
lea esi, [edx + 4]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00410660
jmp 0x43ab77
mov dword [edx], eax
jmp 0x43b20c
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00410660
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x90]
jmp 0x43b207
mov dword [esp + 0x74], ecx
mov dword [esp + 0x90], eax
cmp byte [0x6dbe18], 0
jne 0x43b2ca
mov dword [eax + 0xc], ecx
cmp ecx, 0
je 0x43b2c6
cmp byte [0x6dbe18], 0
jne 0x43b2a7
mov dword [ecx + 8], eax
cmp edx, 0
je 0x43b2a3
cmp byte [0x6dbe18], 0
jne 0x43b28f
mov dword [edx + 4], eax
jmp 0x43ab77
lea esi, [edx + 4]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00410660
jmp 0x43ab77
mov dword [edx], eax
jmp 0x43b27e
lea esi, [ecx + 8]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00410660
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x90]
jmp 0x43b279
mov dword [ecx], eax
jmp 0x43b26d
lea esi, [eax + 0xc]
mov dword [esp], esi
mov dword [esp + 4], ecx
call fcn.00410660
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0x90]
jmp 0x43b268
mov dword [edx], eax
jmp 0x43b1d6
mov dword [ecx], eax
jmp 0x43aaf6
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00410660
mov ecx, dword [esp + 0x9c]
jmp 0x43aaeb
mov dword [ebx], eax
jmp 0x43aadc
lea esi, [ecx + 0x24]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.00410660
mov ecx, dword [esp + 0x9c]
jmp 0x43aacc
mov dword [ecx], eax
jmp 0x43aabc
lea esi, [ecx + 0x10]
mov dword [esp], esi
mov dword [esp + 4], ebp
call fcn.00410660
mov ecx, dword [esp + 0x9c]
jmp 0x43aa84
mov dword [ecx], eax
jmp 0x43aa74
lea esi, [ecx + 4]
mov dword [esp], esi
mov dword [esp + 4], ebx
call fcn.00410660
mov ecx, dword [esp + 0x9c]
jmp 0x43aa62
mov dword [ecx], eax
jmp 0x43aa52
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00410660
mov ecx, dword [esp + 0x9c]
jmp 0x43aa42
mov dword [ecx], eax
jmp 0x43aa33
call fcn.00429b10
ud2
mov dword [eax], eax
jmp 0x43a98d
mov dword [0], eax
jmp 0x43a5f5
cmp bp, 2
jne 0x43b5f8
mov ebp, dword [edx + 0x10]
cmp ebp, 0
je 0x43b465
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x14], ebx
call fcn.00439d90
mov ebx, 0x5fc585
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], 0x16
mov dword [esp], 0x5cf160
lea ebx, [esp + 0xd0]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040cd80
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.0042b0f0
ud2
mov dword [esp + 0xc0], edx
mov dword [esp], edx
cmp dword [esp], 0
je 0x43b5ed
add dword [esp], 0x20
call fcn.00406e20
mov edx, dword [esp + 0xc0]
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 4]
xor ebp, ebp
cmp eax, ebp
je 0x43b541
xor ecx, ecx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], ecx
lea ecx, [esp + 0x12c]
mov esi, 0x44f110
mov dword [ecx], esi
mov ebp, dword [esp + 0xe4]
mov dword [ecx + 4], ebp
mov ebp, dword [esp + 0xe8]
mov dword [ecx + 8], ebp
mov ebp, dword [esp + 0xec]
mov dword [ecx + 0xc], ebp
mov ebp, dword [esp + 0x114]
mov dword [ecx + 0x10], ebp
mov ebp, dword [esp + 0x118]
mov dword [ecx + 0x14], ebp
mov ebp, dword [esp + 0x11c]
mov dword [ecx + 0x18], ebp
mov dword [esp], edx
mov dword [esp + 4], eax
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
call fcn.00406110
mov ecx, dword [esp + 0xbc]
jmp 0x43a6cc
mov ecx, dword [edx]
mov ebp, dword [edx + 4]
cmp ecx, ebp
jae 0x43a8c6
mov esi, dword [edx + 0x18]
movzx ebp, word [edx + 0xc]
imul esi, ebp
mov eax, dword [edx + 8]
add eax, esi
mov ebp, dword [edx + 0x14]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov ebx, dword [esp + 0xbc]
mov ebp, dword [ebx]
mov dword [esp + 8], ebp
call fcn.00410760
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x18]
inc ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [eax + 0x18]
mov ebp, dword [eax + 4]
cmp ecx, ebp
jne 0x43b596
xor ecx, ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xe8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x114]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x11c]
mov dword [esp + 0x14], ebx
call fcn.00439d90
mov ecx, dword [esp + 0xbc]
jmp 0x43a6cc
mov dword [0], eax
jmp 0x43b479
cmp bp, 3
jne 0x43a8c6
mov dword [esp + 0xb8], ecx
jmp 0x43a8c6
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
mov ebp, edx
inc ebp
mov ebx, dword [esp + 0x3c]
cmp ebp, ebx
jge 0x43b68e
mov ebx, edx
cmp edx, eax
jae 0x43b72f
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [ebp]
cmp ebx, esi
jae 0x43b728
mov ebp, edi
imul ebx, ebx, 0x1c
add ebp, ebx
mov ebx, dword [ebp + 4]
mov dword [esp + 0x24], ebx
mov ebx, edx
inc ebx
cmp ebx, eax
jae 0x43b721
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [ebp]
cmp ebx, esi
jae 0x43b71a
mov ebp, edi
imul ebx, ebx, 0x1c
add ebp, ebx
mov ebp, dword [ebp + 4]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x58], ebx
cmp dword [esp + 0x58], ebp
jae 0x43b68e
inc edx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x20], ebx
mov ebx, edx
cmp edx, eax
jae 0x43b713
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [ebp]
cmp ebx, esi
jae 0x43b70c
mov ebp, edi
imul ebx, ebx, 0x1c
add ebp, ebx
mov ebp, dword [ebp + 4]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x54], ebx
cmp dword [esp + 0x54], ebp
jae 0x43a4ef
mov ebx, edx
cmp edx, eax
jae 0x43b705
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [ebp]
mov word [esp + 0x1a], bx
mov ebx, dword [esp + 0x2c]
cmp ebx, eax
jae 0x43b6fe
mov ebp, ecx
shl ebx, 1
add ebp, ebx
movzx ebx, word [esp + 0x1a]
mov word [ebp], bx
mov dword [esp + 0x2c], edx
jmp 0x43a4dc
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
call fcn.00429b10
ud2
mov dword [ebx], eax
jmp 0x43a292
mov dword [ebx], eax
jmp 0x43a140
call fcn.00429b10
ud2
mov dword [ebx], eax
jmp 0x43a038
mov dword [eax], eax
jmp 0x439ffa
call fcn.00452240
jmp fcn.00439fb0