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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x55
push 0
push 0
dec ecx
jne 0x51c8b0
push ebx
push esi
push edi
mov dword [ebp - 0x118], eax
lea eax, [ebp - 0x114]
mov edx, dword [0x49e100]
call fcn.00406328
xor eax, eax
push ebp
push 0x51f005
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x5d83e8], 0
je 0x51dd1d
mov eax, dword [0x5d83e8]
mov dword [ebp - 4], eax
mov ebx, dword [0x5d1f54]
movzx ebx, byte [ebx]
mov eax, dword [0x5d1f54]
mov byte [eax], 0x2e
push 0
push 0
mov ecx, 0x51f01c
mov edx, 0x51f02c
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x24]
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc4]
fstp qword [eax + 0x10]
wait
mov eax, dword [0x5d1f54]
mov byte [eax], bl
push 0
lea eax, [ebp - 0x134]
push eax
mov edx, 0x51f02c
mov ecx, 0x51f040
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc4]
add eax, 0x18
call fcn.004056ec
push 0
lea eax, [ebp - 0x138]
push eax
mov edx, 0x51f02c
mov ecx, 0x51f050
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xc4]
add eax, 0x1c
call fcn.004056ec
push 4
mov edx, 0x51f02c
mov ecx, 0x51f064
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x2a], ax
push 0x1e
mov edx, 0x51f02c
mov ecx, 0x51f078
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov ebx, eax
mov eax, dword [ebp - 0x118]
mov esi, dword [eax + 0xc4]
mov word [esi + 0x2c], bx
test bx, bx
jne 0x51c9ef
mov word [esi + 0x2c], 0x1e
push 0
mov edx, 0x51f02c
mov ecx, 0x51f08c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov ebx, eax
mov eax, dword [ebp - 0x118]
mov esi, dword [eax + 0xc4]
mov word [esi + 0x2e], bx
test bx, bx
jne 0x51ca22
movzx eax, word [esi + 0x2c]
mov word [esi + 0x2e], ax
push 0x20
call sub.user32.dll_GetSystemMetrics
push eax
mov edx, 0x51f02c
mov ecx, 0x51f0a0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x30], ax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f0b4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x32], ax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f0c8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x34], ax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f0e0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x36], ax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f0f4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov dword [edx + 0x20], eax
push 0x51f10c
lea eax, [ebp - 0x13c]
push eax
mov edx, 0x51f02c
mov ecx, 0x51f118
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x13c]
call fcn.0040acbc
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x24], ax
push 0x51f130
lea eax, [ebp - 0x140]
push eax
mov edx, 0x51f02c
mov ecx, 0x51f13c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x140]
call fcn.0040acbc
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x26], ax
push 0x51f10c
lea eax, [ebp - 0x144]
push eax
mov edx, 0x51f02c
mov ecx, 0x51f150
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x144]
call fcn.0040acbc
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x28], ax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f16c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x40], ax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f17c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x42], ax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f190
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x44], ax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f1a0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x46], ax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f1b0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x48], ax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f1c0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov dword [edx + 0x3c], eax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f1d4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x4a], ax
push 0x51f10c
lea eax, [ebp - 0x148]
push eax
mov edx, 0x51f02c
mov ecx, 0x51f1e8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x148]
call fcn.0040acbc
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x4c], ax
push 0x51f10c
lea eax, [ebp - 0x14c]
push eax
mov edx, 0x51f02c
mov ecx, 0x51f200
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x14c]
call fcn.0040acbc
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x4e], ax
push 0x51f10c
lea eax, [ebp - 0x150]
push eax
mov edx, 0x51f02c
mov ecx, 0x51f220
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x150]
call fcn.0040acbc
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x50], ax
push 0x51f10c
lea eax, [ebp - 0x154]
push eax
mov edx, 0x51f02c
mov ecx, 0x51f238
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x154]
call fcn.0040acbc
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x52], ax
push 0x51f10c
lea eax, [ebp - 0x158]
push eax
mov edx, 0x51f02c
mov ecx, 0x51f254
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x158]
call fcn.0040acbc
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x54], ax
push 0x51f10c
lea eax, [ebp - 0x15c]
push eax
mov edx, 0x51f02c
mov ecx, 0x51f26c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx]
mov eax, dword [ebp - 0x15c]
call fcn.0040acbc
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov word [edx + 0x56], ax
push 0
mov edx, 0x51f02c
mov ecx, 0x51f288
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
test eax, eax
setne al
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov byte [edx + 0x58], al
push 0
mov edx, 0x51f02c
mov ecx, 0x51f29c
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 8]
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xc4]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x118]
call fcn.00521014
mov dl, 1
mov eax, dword [0x41dce4]
call fcn.00404704
mov dword [ebp - 0x11c], eax
mov dl, 1
mov eax, dword [ebp - 0x11c]
call fcn.00422ad0
xor edx, edx
push ebp
push 0x51dd16
push dword fs:[edx]
mov dword fs:[edx], esp
push 0
mov eax, dword [ebp - 0x118]
add eax, 0xd0
mov ecx, 1
mov edx, dword [0x49e1b0]
call fcn.00406fb4
add esp, 4
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x11c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x51dcf4
inc eax
mov dword [ebp - 0x12c], eax
xor ebx, ebx
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x5c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x51ef95
mov dl, 1
mov eax, dword [0x41dce4]
call fcn.00404704
mov dword [ebp - 0x11c], eax
mov dl, 1
mov eax, dword [ebp - 0x11c]
call fcn.00422ad0
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x5c]
mov edx, dword [ebp - 0x11c]
call fcn.005275c4
xor edx, edx
push ebp
push 0x51ef8e
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 0x11c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x51ef2b
inc eax
mov dword [ebp - 0x12c], eax
xor ebx, ebx
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xd0]
call fcn.00406df8
mov dword [ebp - 0x124], eax
lea eax, [ebp - 0x110]
call fcn.00405698
mov dword [ebp - 0x128], 0xffffffff
mov eax, dword [ebp - 0x124]
dec eax
test eax, eax
jl 0x51de38
inc eax
mov dword [ebp - 0x130], eax
xor esi, esi
lea ecx, [ebp - 0x204]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x204]
imul eax, esi, 0x43
mov ecx, dword [ebp - 0x118]
mov ecx, dword [ecx + 0xd0]
mov eax, dword [ecx + eax*4 + 4]
call fcn.00405ac0
jne 0x51de2f
lea eax, [ebp - 0x114]
imul edx, esi, 0x43
mov ecx, dword [ebp - 0x118]
mov ecx, dword [ecx + 0xd0]
lea edx, [ecx + edx*4]
mov ecx, dword [0x49e100]
call fcn.0040665c
mov dword [ebp - 0x128], esi
jmp 0x51de38
inc esi
dec dword [ebp - 0x130]
jne 0x51ddd1
xor eax, eax
mov dword [ebp - 0x120], eax
cmp dword [ebp - 0x110], 0
jne 0x51df67
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xd0]
call fcn.00406df8
inc eax
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
push eax
mov eax, dword [ebp - 0x118]
add eax, 0xd0
mov ecx, 1
mov edx, dword [0x49e1b0]
call fcn.00406fb4
add esp, 4
lea ecx, [ebp - 0x208]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov edx, dword [ebp - 0x208]
lea eax, [ebp - 0x110]
call fcn.00405730
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x120], eax
push 0x51f2b0
push 0x51f130
lea eax, [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.00527714
mov eax, dword [ebp - 0x210]
lea edx, [ebp - 0x20c]
call fcn.0040a0c0
mov edx, dword [ebp - 0x20c]
lea eax, [ebp - 0x114]
call fcn.00405730
or esi, 0xffffffff
mov eax, dword [ebp - 0x118]
mov eax, dword [eax + 0xd0]
call fcn.00406df8
dec eax
test eax, eax
jl 0x51df67
inc eax
mov dword [ebp - 0x130], eax
xor edi, edi
imul eax, edi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 4]
lea edx, [ebp - 0x214]
call fcn.0040a0c0
mov eax, dword [ebp - 0x214]
mov edx, dword [ebp - 0x114]
call fcn.00405ac0
jne 0x51df5e
mov esi, edi
jmp 0x51df67
inc edi
dec dword [ebp - 0x130]
jne 0x51df29
cmp dword [ebp - 0x120], 0
je 0x51ef1e
push 0x51f2c4
push 0xffffffffffffffff
lea ecx, [ebp - 0x218]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51dfd3
cmp esi, 0xffffffff
jle 0x51dfca
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xa0]
mov dword [ebp - 0x74], eax
jmp 0x51dfd6
mov dword [ebp - 0x74], 0xffffff
jmp 0x51dfd6
mov dword [ebp - 0x74], eax
push 0x51f2d4
push 0x51f57c
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x220]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.00527714
mov eax, dword [ebp - 0x21c]
lea edx, [ebp - 8]
call fcn.0040a0c0
mov eax, dword [ebp - 8]
mov edx, 0x51f57c
call fcn.00405ac0
jne 0x51e058
cmp esi, 0xffffffff
jle 0x51e04f
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
movzx eax, byte [edx + eax*4 + 0x7d]
mov byte [ebp - 0x97], al
jmp 0x51e082
mov byte [ebp - 0x97], 0
jmp 0x51e082
mov eax, dword [ebp - 8]
mov edx, 0x51f2ec
call fcn.00405ac0
je 0x51e07a
mov eax, dword [ebp - 8]
mov edx, 0x51f2f8
call fcn.00405ac0
je 0x51e07a
xor eax, eax
jmp 0x51e07c
mov al, 1
mov byte [ebp - 0x97], al
push 0x51f308
push 0x51f57c
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x228]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x228]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.00527714
mov eax, dword [ebp - 0x224]
lea edx, [ebp - 8]
call fcn.0040a0c0
mov eax, dword [ebp - 8]
mov edx, 0x51f57c
call fcn.00405ac0
jne 0x51e104
cmp esi, 0xffffffff
jle 0x51e0fb
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
movzx eax, byte [edx + eax*4 + 0x7c]
mov byte [ebp - 0x98], al
jmp 0x51e12e
mov byte [ebp - 0x98], 0
jmp 0x51e12e
mov eax, dword [ebp - 8]
mov edx, 0x51f2ec
call fcn.00405ac0
je 0x51e126
mov eax, dword [ebp - 8]
mov edx, 0x51f2f8
call fcn.00405ac0
je 0x51e126
xor eax, eax
jmp 0x51e128
mov al, 1
mov byte [ebp - 0x98], al
push 0x51f31c
push 0
lea ecx, [ebp - 0x22c]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e191
cmp esi, 0xffffffff
jle 0x51e187
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0x80]
mov dword [ebp - 0x94], eax
jmp 0x51e197
xor eax, eax
mov dword [ebp - 0x94], eax
jmp 0x51e197
mov dword [ebp - 0x94], eax
push 0x51f32c
push 0
lea ecx, [ebp - 0x230]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x230]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e1fa
cmp esi, 0xffffffff
jle 0x51e1f0
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0x84]
mov dword [ebp - 0x90], eax
jmp 0x51e200
xor eax, eax
mov dword [ebp - 0x90], eax
jmp 0x51e200
mov dword [ebp - 0x90], eax
push 0x51f340
push 0xffffffffffffffff
lea ecx, [ebp - 0x234]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e25d
cmp esi, 0xffffffff
jle 0x51e256
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xb8]
mov dword [ebp - 0x5c], eax
jmp 0x51e260
xor eax, eax
mov dword [ebp - 0x5c], eax
jmp 0x51e260
mov dword [ebp - 0x5c], eax
push 0x51f354
push 0xffffffffffffffff
lea ecx, [ebp - 0x238]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e2bf
cmp esi, 0xffffffff
jle 0x51e2b6
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xbc]
mov dword [ebp - 0x58], eax
jmp 0x51e2c2
mov dword [ebp - 0x58], 0xffffffff
jmp 0x51e2c2
mov dword [ebp - 0x58], eax
push 0x51f364
push 0xffffffffffffffff
lea ecx, [ebp - 0x23c]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e321
cmp esi, 0xffffffff
jle 0x51e318
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xc0]
mov dword [ebp - 0x54], eax
jmp 0x51e324
mov dword [ebp - 0x54], 0xffffffff
jmp 0x51e324
mov dword [ebp - 0x54], eax
push 0x51f374
push 0xffffffffffffffff
lea ecx, [ebp - 0x240]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x240]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e383
cmp esi, 0xffffffff
jle 0x51e37a
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xc4]
mov dword [ebp - 0x50], eax
jmp 0x51e386
mov dword [ebp - 0x50], 0xffffffff
jmp 0x51e386
mov dword [ebp - 0x50], eax
push 0x51f384
push 0xffffffffffffffff
lea ecx, [ebp - 0x244]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e3e5
cmp esi, 0xffffffff
jle 0x51e3dc
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xc8]
mov dword [ebp - 0x4c], eax
jmp 0x51e3e8
mov dword [ebp - 0x4c], 0xffffffff
jmp 0x51e3e8
mov dword [ebp - 0x4c], eax
push 0x51f47c
push 0xffffffffffffffff
lea ecx, [ebp - 0x248]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x248]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e445
cmp esi, 0xffffffff
jle 0x51e43e
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xe4]
mov dword [ebp - 0x30], eax
jmp 0x51e448
xor eax, eax
mov dword [ebp - 0x30], eax
jmp 0x51e448
mov dword [ebp - 0x30], eax
push 0x51f494
push 0xffffffffffffffff
lea ecx, [ebp - 0x24c]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e4a7
cmp esi, 0xffffffff
jle 0x51e49e
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xe8]
mov dword [ebp - 0x2c], eax
jmp 0x51e4aa
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x51e4aa
mov dword [ebp - 0x2c], eax
push 0x51f4a8
push 0xffffffffffffffff
lea ecx, [ebp - 0x250]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x250]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e509
cmp esi, 0xffffffff
jle 0x51e500
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xec]
mov dword [ebp - 0x28], eax
jmp 0x51e50c
mov dword [ebp - 0x28], 0xffffffff
jmp 0x51e50c
mov dword [ebp - 0x28], eax
push 0x51f4bc
push 0xffffffffffffffff
lea ecx, [ebp - 0x254]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e56b
cmp esi, 0xffffffff
jle 0x51e562
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xf0]
mov dword [ebp - 0x24], eax
jmp 0x51e56e
mov dword [ebp - 0x24], 0xffffffff
jmp 0x51e56e
mov dword [ebp - 0x24], eax
push 0x51f4d0
push 0xffffffffffffffff
lea ecx, [ebp - 0x258]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e5cd
cmp esi, 0xffffffff
jle 0x51e5c4
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xf4]
mov dword [ebp - 0x20], eax
jmp 0x51e5d0
mov dword [ebp - 0x20], 0xffffffff
jmp 0x51e5d0
mov dword [ebp - 0x20], eax
push 0x51f398
push 0xffffffffffffffff
lea ecx, [ebp - 0x25c]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e62d
cmp esi, 0xffffffff
jle 0x51e626
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xa4]
mov dword [ebp - 0x70], eax
jmp 0x51e630
xor eax, eax
mov dword [ebp - 0x70], eax
jmp 0x51e630
mov dword [ebp - 0x70], eax
push 0x51f3b0
push 0xffffffffffffffff
lea ecx, [ebp - 0x260]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e68d
cmp esi, 0xffffffff
jle 0x51e686
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xa8]
mov dword [ebp - 0x6c], eax
jmp 0x51e690
xor eax, eax
mov dword [ebp - 0x6c], eax
jmp 0x51e690
mov dword [ebp - 0x6c], eax
push 0x51f3c8
push 0xffffffffffffffff
lea ecx, [ebp - 0x264]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e6ed
cmp esi, 0xffffffff
jle 0x51e6e6
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xb4]
mov dword [ebp - 0x60], eax
jmp 0x51e6f0
xor eax, eax
mov dword [ebp - 0x60], eax
jmp 0x51e6f0
mov dword [ebp - 0x60], eax
push 0x51f3ec
push 0x51f57c
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x268]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x268]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.00527714
mov eax, dword [ebp - 8]
mov edx, 0x51f57c
call fcn.00405ac0
jne 0x51e76b
cmp esi, 0xffffffff
jle 0x51e75c
lea eax, [ebp - 0x68]
imul edx, esi, 0x43
mov ecx, dword [ebp - 0x118]
mov ecx, dword [ecx + 0xd0]
mov edx, dword [ecx + edx*4 + 0xac]
call fcn.00405730
jmp 0x51e776
lea eax, [ebp - 0x68]
mov edx, 0x51f3e0
call fcn.00405730
jmp 0x51e776
lea eax, [ebp - 0x68]
mov edx, dword [ebp - 8]
call fcn.00405730
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x51e782
sub eax, 4
mov eax, dword [eax]
dec eax
jle 0x51e790
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0x68]
call fcn.004babb8
push 0x51f404
push 0x51f57c
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x270]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x270]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.00527714
mov eax, dword [ebp - 0x26c]
lea edx, [ebp - 8]
call fcn.0040a0c0
mov eax, dword [ebp - 8]
mov edx, 0x51f57c
call fcn.00405ac0
jne 0x51e812
cmp esi, 0xffffffff
jle 0x51e809
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
movzx eax, byte [edx + eax*4 + 0x7e]
mov byte [ebp - 0x96], al
jmp 0x51e83c
mov byte [ebp - 0x96], 0
jmp 0x51e83c
mov eax, dword [ebp - 8]
mov edx, 0x51f2ec
call fcn.00405ac0
je 0x51e834
mov eax, dword [ebp - 8]
mov edx, 0x51f2f8
call fcn.00405ac0
je 0x51e834
xor eax, eax
jmp 0x51e836
mov al, 1
mov byte [ebp - 0x96], al
push 0x51f418
push 0x51f57c
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x278]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.00527714
mov eax, dword [ebp - 0x274]
lea edx, [ebp - 8]
call fcn.0040a0c0
mov eax, dword [ebp - 8]
mov edx, 0x51f57c
call fcn.00405ac0
jne 0x51e8bb
cmp esi, 0xffffffff
jle 0x51e8b5
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
movzx eax, byte [edx + eax*4 + 0xf8]
mov byte [ebp - 0x1c], al
jmp 0x51e8e2
mov byte [ebp - 0x1c], 0
jmp 0x51e8e2
mov eax, dword [ebp - 8]
mov edx, 0x51f2ec
call fcn.00405ac0
je 0x51e8dd
mov eax, dword [ebp - 8]
mov edx, 0x51f2f8
call fcn.00405ac0
je 0x51e8dd
xor eax, eax
jmp 0x51e8df
mov al, 1
mov byte [ebp - 0x1c], al
push 0x51f430
push 0xffffffffffffffff
lea ecx, [ebp - 0x27c]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e941
cmp esi, 0xffffffff
jle 0x51e938
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xfc]
mov dword [ebp - 0x18], eax
jmp 0x51e944
mov dword [ebp - 0x18], 5
jmp 0x51e944
mov dword [ebp - 0x18], eax
push 0x51f504
push 0xffffffffffffffff
lea ecx, [ebp - 0x280]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51e9a3
cmp esi, 0xffffffff
jle 0x51e99a
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xcc]
mov dword [ebp - 0x48], eax
jmp 0x51e9a6
mov dword [ebp - 0x48], 0xffffff
jmp 0x51e9a6
mov dword [ebp - 0x48], eax
push 0x51f518
push 0xffffffffffffffff
lea ecx, [ebp - 0x284]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51ea03
cmp esi, 0xffffffff
jle 0x51e9fc
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xd0]
mov dword [ebp - 0x44], eax
jmp 0x51ea06
xor eax, eax
mov dword [ebp - 0x44], eax
jmp 0x51ea06
mov dword [ebp - 0x44], eax
push 0x51f530
push 0xffffffffffffffff
lea ecx, [ebp - 0x288]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x288]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51ea63
cmp esi, 0xffffffff
jle 0x51ea5c
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xd4]
mov dword [ebp - 0x40], eax
jmp 0x51ea66
xor eax, eax
mov dword [ebp - 0x40], eax
jmp 0x51ea66
mov dword [ebp - 0x40], eax
push 0x51f54c
push 0x51f57c
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x28c]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.00527714
mov eax, dword [ebp - 8]
mov edx, 0x51f57c
call fcn.00405ac0
jne 0x51eadc
cmp esi, 0xffffffff
jle 0x51ead2
lea eax, [ebp - 0x3c]
imul edx, esi, 0x43
mov ecx, dword [ebp - 0x118]
mov ecx, dword [ecx + 0xd0]
mov edx, dword [ecx + edx*4 + 0xd8]
call fcn.00405730
jmp 0x51eae7
lea eax, [ebp - 0x3c]
call fcn.00405698
jmp 0x51eae7
lea eax, [ebp - 0x3c]
mov edx, dword [ebp - 8]
call fcn.00405730
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x51eaf3
sub eax, 4
mov eax, dword [eax]
dec eax
jle 0x51eb01
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x3c]
call fcn.004babb8
push 0x51f564
push 0xffffffffffffffff
lea ecx, [ebp - 0x290]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51eb5e
cmp esi, 0xffffffff
jle 0x51eb57
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0xe0]
mov dword [ebp - 0x34], eax
jmp 0x51eb61
xor eax, eax
mov dword [ebp - 0x34], eax
jmp 0x51eb61
mov dword [ebp - 0x34], eax
push 0x51f4e4
push 0xffffffffffffffff
lea ecx, [ebp - 0x294]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51ebc0
cmp esi, 0xffffffff
jle 0x51ebb7
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0x100]
mov dword [ebp - 0x14], eax
jmp 0x51ebc3
mov dword [ebp - 0x14], 0xffffff
jmp 0x51ebc3
mov dword [ebp - 0x14], eax
push 0x51f4f4
push 0
lea ecx, [ebp - 0x298]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x298]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51ec20
cmp esi, 0xffffffff
jle 0x51ec1a
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
movzx eax, byte [edx + eax*4 + 0x108]
mov byte [ebp - 0xc], al
jmp 0x51ec23
mov byte [ebp - 0xc], 0
jmp 0x51ec23
mov byte [ebp - 0xc], al
push 0x51f44c
push 0xffffffffffffffff
lea ecx, [ebp - 0x29c]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51ec82
cmp esi, 0xffffffff
jle 0x51ec79
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 0x104]
mov dword [ebp - 0x10], eax
jmp 0x51ec85
mov dword [ebp - 0x10], 0xffffff
jmp 0x51ec85
mov dword [ebp - 0x10], eax
push 0x51f45c
push 0
lea ecx, [ebp - 0x2a0]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51ece2
cmp esi, 0xffffffff
jle 0x51ecdc
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
movzx eax, byte [edx + eax*4 + 0x109]
mov byte [ebp - 0xb], al
jmp 0x51ece5
mov byte [ebp - 0xb], 0
jmp 0x51ece5
mov byte [ebp - 0xb], al
push 0x51f46c
push 0xffffffffffffffff
lea ecx, [ebp - 0x2a4]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
call fcn.005277b4
cmp eax, 0xffffffff
jne 0x51ed47
cmp esi, 0xffffffff
jle 0x51ed3b
imul eax, esi, 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
mov eax, dword [edx + eax*4 + 8]
mov dword [ebp - 0x10c], eax
jmp 0x51ed4d
mov dword [ebp - 0x10c], 3
jmp 0x51ed4d
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xdc], eax
movzx eax, byte [ebp - 0xb]
mov byte [ebp - 0xd8], al
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0xec]
mov edx, dword [ebp - 0x68]
call fcn.00405730
lea eax, [ebp - 0xe8]
mov edx, dword [ebp - 0x64]
mov ecx, dword [0x48a7d8]
call fcn.00407110
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xd4], eax
push ebp
lea ecx, [ebp - 0x2a8]
mov edx, ebx
mov eax, dword [ebp - 0x11c]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x2a8]
push eax
mov edx, 0x51f46c
mov ecx, 3
pop eax
call fcn.0051c7c0
pop ecx
mov esi, eax
mov dword [ebp - 0x10c], esi
dec esi
jle 0x51ee96
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0xa4], eax
movzx eax, byte [ebp - 0xc]
mov byte [ebp - 0xa0], al
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xb4]
mov edx, dword [ebp - 0x3c]
call fcn.00405730
lea eax, [ebp - 0xb0]
mov edx, dword [ebp - 0x38]
mov ecx, dword [0x48a7d8]
call fcn.00407110
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x9c], eax
jmp 0x51eead
lea eax, [ebp - 0xd0]
lea edx, [ebp - 0x108]
mov ecx, dword [0x49e0bc]
call fcn.0040665c
cmp dword [ebp - 0x110], 0
je 0x51ef1e
cmp dword [ebp - 0x128], 0xffffffff
jle 0x51eee8
imul eax, dword [ebp - 0x128], 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
lea eax, [edx + eax*4]
lea edx, [ebp - 0x114]
mov ecx, dword [0x49e100]
call fcn.0040665c
jmp 0x51ef13
imul eax, dword [ebp - 0x124], 0x43
mov edx, dword [ebp - 0x118]
mov edx, dword [edx + 0xd0]
lea eax, [edx + eax*4 - 0x10c]
lea edx, [ebp - 0x114]
mov ecx, dword [0x49e100]
call fcn.0040665c
lea eax, [ebp - 0x110]
call fcn.00405698
inc ebx
dec dword [ebp - 0x12c]
jne 0x51dd91
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51ef95
cmp dword [ebp - 0x11c], 0
je 0x51ef8d
jmp 0x51ef73
xor edx, edx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
je 0x51ef66
xor edx, edx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
call dword [ecx + 0x18]
call fcn.00404734
xor edx, edx
mov eax, dword [ebp - 0x11c]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x11c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jg 0x51ef43
lea eax, [ebp - 0x11c]
call fcn.004118cc
ret
mov eax, dword [ebp - 0x118]
call fcn.00518460
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x1b0]
mov eax, dword [ebp - 0x118]
call fcn.00516494
mov eax, dword [ebp - 0x118]
mov edx, dword [eax + 0x1b4]
mov eax, dword [ebp - 0x118]
call fcn.00515860
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51f00c
lea eax, [ebp - 0x2a8]
mov edx, 0x5e
call fcn.004056bc
lea eax, [ebp - 0x114]
mov edx, dword [0x49e100]
call fcn.004063f8
lea eax, [ebp - 8]
call fcn.00405698
ret