Function at 0x517ab0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2dc
mov eax, dword [ebp + 8]
mov ecx, eax
mov edx, dword [ebp + 0x20]
mov esi, dword [ebp + 0x1c]
lea edi, [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0xcc], eax
mov al, 1
test al, 1
mov byte [ebp - 0xcd], al
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xdc], edx
mov dword [ebp - 0xe0], esi
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xe8], ebx
jne 0x517b18
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd4]
mov cl, byte [ebp - 0xcd]
test cl, 1
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xf0], edx
jne 0x517b41
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf0]
mov cl, byte [ebp - 0xcd]
test cl, 1
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf8], edx
jne 0x517b6a
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
mov cl, byte [ebp - 0xcd]
test cl, 1
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x100], edx
jne 0x517b93
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
mov cl, byte [ebp - 0xcd]
test cl, 1
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x108], edx
jne 0x517bbc
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xcc]
mov dword [esp], eax
call fcn.00519e00
mov byte [ebp - 0x61], 0
mov eax, dword [ebp - 0x48]
mov dword [esp], eax
call fcn.005169e0
lea ecx, [ebp - 0x44]
lea edx, [0x5792b4]
mov dword [ebp - 0x28], edx
mov edx, 0x583ad0
mov dword [ebp - 0x24], edx
mov edx, ebp
mov dword [ebp - 0x20], edx
mov edx, esp
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], 0x518fe4
mov dword [ebp - 0x10c], eax
mov eax, ecx
call fcn.00579e71
mov eax, dword [ebp - 0x10c]
cmp eax, 0
jne 0x517ced
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051977c
mov eax, dword [eax]
mov ecx, dword [ebp - 0x50]
mov edx, esp
mov dword [edx], ecx
mov dword [ebp - 0x110], eax
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 1
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x110]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov eax, dword [ebp - 0xec]
mov dword [esi], eax
mov dword [esi + 8], 1
call fcn.00519e1c
jmp 0x517c92
jmp 0x518f94
xor eax, eax
mov cl, al
test cl, 1
jne 0x517cfb
jmp 0x518600
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [ebp - 0x78]
mov dword [ecx], eax
mov dword [ebp - 0x120], eax
call fcn.00516a04
mov dword [ebp - 0x3c], 4
mov eax, esp
mov ecx, dword [ebp - 0x120]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xfc]
mov dword [eax], edx
call fcn.00517014
mov byte [ebp - 0x121], al
jmp 0x517d3a
mov al, byte [ebp - 0x121]
test al, 1
jne 0x517d49
jmp 0x517e69
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov dword [ebp - 0x3c], 5
mov ecx, esp
mov edx, dword [ebp - 0xfc]
mov dword [ecx], edx
mov dword [ebp - 0x128], eax
call fcn.005170f0
mov dword [ebp - 0x12c], eax
jmp 0x517d79
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 6
mov ecx, esp
mov edx, dword [ebp - 0x12c]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.005170b0
mov dword [ebp - 0x130], eax
jmp 0x517d9d
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 7
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.005177f8
mov dword [ebp - 0x134], eax
jmp 0x517dbe
mov dword [ebp - 0x3c], 8
mov eax, esp
mov ecx, dword [ebp - 0x134]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x130]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x128]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x135], al
jmp 0x517dee
mov al, byte [ebp - 0x135]
test al, 1
jne 0x517e60
jmp 0x517dfa
mov dword [ebp - 0x3c], 9
mov eax, esp
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x13c], eax
jmp 0x517e18
mov eax, dword [ebp - 0x50]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0xa
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x13c]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xec]
mov dword [esi], ecx
mov dword [esi + 8], 1
call fcn.00519e1c
jmp 0x517e5b
jmp 0x518f94
mov byte [ebp - 0x61], 1
jmp 0x5185fb
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [ebp - 0x84]
mov dword [ecx], eax
mov dword [ebp - 0x140], eax
call fcn.00516af0
mov dword [ebp - 0x3c], 0xb
mov eax, esp
mov ecx, dword [ebp - 0x140]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xfc]
mov dword [eax], edx
call fcn.00517014
mov byte [ebp - 0x141], al
jmp 0x517eab
mov al, byte [ebp - 0x141]
test al, 1
jne 0x517eba
jmp 0x517fe0
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0xc
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
mov dword [ebp - 0x148], eax
call fcn.005177f8
mov dword [ebp - 0x14c], eax
jmp 0x517eed
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0xd
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a328
mov dword [ebp - 0x150], eax
jmp 0x517f08
mov eax, dword [ebp - 0x150]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0xe
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.005170b0
mov dword [ebp - 0x154], eax
jmp 0x517f2e
mov dword [ebp - 0x3c], 0xf
mov eax, esp
mov ecx, dword [ebp - 0x154]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x14c]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x148]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x155], al
jmp 0x517f5e
mov al, byte [ebp - 0x155]
test al, 1
jne 0x517fdb
jmp 0x517f6a
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x10
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a328
mov dword [ebp - 0x15c], eax
jmp 0x517f85
mov eax, dword [ebp - 0x15c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x50]
mov esi, esp
mov dword [esi], edx
mov dword [ebp - 0x160], ecx
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x11
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x160]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov eax, dword [ebp - 0xec]
mov dword [esi], eax
mov dword [esi + 8], 0
call fcn.00519e1c
jmp 0x517fd6
jmp 0x518f94
jmp 0x5185f9
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov dword [ebp - 0x3c], 0x12
mov ecx, esp
mov edx, dword [ebp - 0xfc]
mov dword [ecx], edx
mov dword [ebp - 0x164], eax
call fcn.005170f0
mov dword [ebp - 0x168], eax
jmp 0x518010
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x13
mov ecx, esp
mov edx, dword [ebp - 0x168]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.005170b0
mov dword [ebp - 0x16c], eax
jmp 0x518034
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x14
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.005177f8
mov dword [ebp - 0x170], eax
jmp 0x518055
mov dword [ebp - 0x3c], 0x15
mov eax, esp
mov ecx, dword [ebp - 0x170]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x16c]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x164]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x171], al
jmp 0x518085
mov al, byte [ebp - 0x171]
test al, 1
jne 0x5182a9
jmp 0x518095
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x16
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
mov dword [ebp - 0x178], eax
call fcn.005177f8
mov dword [ebp - 0x17c], eax
jmp 0x5180c8
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x58], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x3c], 0x17
mov ecx, esp
lea edx, [ebp - 0x60]
mov dword [ecx], edx
call fcn.0051a354
mov dword [ebp - 0x180], eax
jmp 0x5180fa
mov dword [ebp - 0x3c], 0x18
mov eax, esp
mov ecx, dword [ebp - 0x180]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x184], eax
jmp 0x518118
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x19
mov ecx, esp
mov edx, dword [ebp - 0x184]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.005170b0
mov dword [ebp - 0x188], eax
jmp 0x51813c
mov dword [ebp - 0x3c], 0x1a
mov eax, esp
mov ecx, dword [ebp - 0x188]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x17c]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x178]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x189], al
jmp 0x51816c
mov al, byte [ebp - 0x189]
test al, 1
jne 0x5182a9
jmp 0x51817c
mov dword [ebp - 0x3c], 0x1b
mov eax, esp
lea ecx, [ebp - 0x60]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x190], eax
jmp 0x518197
mov dword [ebp - 0x3c], 0x1c
mov eax, esp
mov ecx, dword [ebp - 0x190]
mov dword [eax], ecx
call fcn.0051755c
mov dword [ebp - 0x194], eax
jmp 0x5181b5
mov eax, dword [ebp - 0x194]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], 0x1d
mov edx, esp
mov dword [edx], ecx
call fcn.005174e8
mov dword [ebp - 0x198], eax
jmp 0x5181d5
mov eax, dword [ebp - 0x198]
cmp byte [eax], 0
je 0x518243
mov dword [ebp - 0x3c], 0x1e
mov eax, esp
lea ecx, [ebp - 0x60]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x19c], eax
jmp 0x5181fb
mov eax, dword [ebp - 0x50]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x1f
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x19c]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xec]
mov dword [esi], ecx
mov dword [esi + 8], 0
call fcn.00519e1c
jmp 0x51823e
jmp 0x518f94
mov dword [ebp - 0x3c], 0x20
mov eax, esp
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x1a0], eax
jmp 0x518261
mov eax, dword [ebp - 0x50]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x21
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1a0]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xec]
mov dword [esi], ecx
mov dword [esi + 8], 1
call fcn.00519e1c
jmp 0x5182a4
jmp 0x518f94
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x22
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
mov dword [ebp - 0x1a4], eax
call fcn.005177f8
mov dword [ebp - 0x1a8], eax
jmp 0x5182dc
mov dword [ebp - 0x3c], 0x23
mov eax, esp
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x1ac], eax
jmp 0x5182fa
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x24
mov ecx, esp
mov edx, dword [ebp - 0x1ac]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.005170b0
mov dword [ebp - 0x1b0], eax
jmp 0x51831e
mov dword [ebp - 0x3c], 0x25
mov eax, esp
mov ecx, dword [ebp - 0x1b0]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x1a8]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x1a4]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x1b1], al
jmp 0x51834e
xor eax, eax
mov cl, al
mov dl, byte [ebp - 0x1b1]
test dl, 1
mov byte [ebp - 0x1b2], cl
jne 0x5184b2
jmp 0x518369
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x58], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x3c], 0x26
mov ecx, esp
lea edx, [ebp - 0x60]
mov dword [ecx], edx
call fcn.0051a384
mov dword [ebp - 0x1b8], eax
jmp 0x51839b
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [ebp - 0x90]
mov dword [ecx], eax
mov dword [ebp - 0x1bc], eax
call fcn.00516af0
mov dword [ebp - 0x3c], 0x27
mov eax, esp
mov ecx, dword [ebp - 0x1bc]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x1b8]
mov dword [eax], edx
call fcn.00517014
mov byte [ebp - 0x1bd], al
jmp 0x5183dd
mov al, 1
mov cl, byte [ebp - 0x1bd]
test cl, 1
mov byte [ebp - 0x1be], al
jne 0x5184a6
jmp 0x5183f6
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov dword [ebp - 0x3c], 0x28
mov ecx, esp
lea edx, [ebp - 0x60]
mov dword [ecx], edx
mov dword [ebp - 0x1c4], eax
call fcn.005170f0
mov dword [ebp - 0x1c8], eax
jmp 0x518423
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x29
mov ecx, esp
mov edx, dword [ebp - 0x1c8]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.005170b0
mov dword [ebp - 0x1cc], eax
jmp 0x518447
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x2a
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.005177f8
mov dword [ebp - 0x1d0], eax
jmp 0x518468
mov dword [ebp - 0x3c], 0x2b
mov eax, esp
mov ecx, dword [ebp - 0x1d0]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x1cc]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x1c4]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x1d1], al
jmp 0x518498
mov al, byte [ebp - 0x1d1]
xor al, 0xff
mov byte [ebp - 0x1be], al
mov al, byte [ebp - 0x1be]
mov byte [ebp - 0x1b2], al
mov al, byte [ebp - 0x1b2]
test al, 1
jne 0x5184c1
jmp 0x5185f1
mov dword [ebp - 0x3c], 0x2c
mov eax, esp
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x1d8], eax
jmp 0x5184df
mov dword [ebp - 0x3c], 0x2d
mov eax, esp
mov ecx, dword [ebp - 0x1d8]
mov dword [eax], ecx
call fcn.0051755c
mov dword [ebp - 0x1dc], eax
jmp 0x5184fd
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], 0x2e
mov edx, esp
mov dword [edx], ecx
call fcn.005174e8
mov dword [ebp - 0x1e0], eax
jmp 0x51851d
mov eax, dword [ebp - 0x1e0]
cmp byte [eax], 0
je 0x51858e
mov dword [ebp - 0x3c], 0x2f
mov eax, esp
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x1e4], eax
jmp 0x518546
mov eax, dword [ebp - 0x50]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x30
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1e4]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xec]
mov dword [esi], ecx
mov dword [esi + 8], 0
call fcn.00519e1c
jmp 0x518589
jmp 0x518f94
mov dword [ebp - 0x3c], 0x31
mov eax, esp
lea ecx, [ebp - 0x60]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x1e8], eax
jmp 0x5185a9
mov eax, dword [ebp - 0x50]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x32
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x1e8]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xec]
mov dword [esi], ecx
mov dword [esi + 8], 1
call fcn.00519e1c
jmp 0x5185ec
jmp 0x518f94
mov byte [ebp - 0x61], 1
jmp 0x5185f7
jmp 0x5185f9
jmp 0x5185fb
jmp 0x518efa
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [ebp - 0x9c]
mov dword [ecx], eax
mov dword [ebp - 0x1ec], eax
call fcn.00516a04
mov dword [ebp - 0x3c], 0x33
mov eax, esp
mov ecx, dword [ebp - 0x1ec]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xfc]
mov dword [eax], edx
call fcn.00517014
mov byte [ebp - 0x1ed], al
jmp 0x518642
mov al, byte [ebp - 0x1ed]
test al, 1
jne 0x518651
jmp 0x51876d
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x34
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
mov dword [ebp - 0x1f4], eax
call fcn.005177f8
mov dword [ebp - 0x1f8], eax
jmp 0x518684
mov dword [ebp - 0x3c], 0x35
mov eax, esp
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x1fc], eax
jmp 0x5186a2
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x36
mov ecx, esp
mov edx, dword [ebp - 0x1fc]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.005170b0
mov dword [ebp - 0x200], eax
jmp 0x5186c6
mov dword [ebp - 0x3c], 0x37
mov eax, esp
mov ecx, dword [ebp - 0x200]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x1f8]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x1f4]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x201], al
jmp 0x5186f6
mov al, byte [ebp - 0x201]
test al, 1
jne 0x518702
jmp 0x518768
mov dword [ebp - 0x3c], 0x38
mov eax, esp
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x208], eax
jmp 0x518720
mov eax, dword [ebp - 0x50]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x39
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x208]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xec]
mov dword [esi], ecx
mov dword [esi + 8], 1
call fcn.00519e1c
jmp 0x518763
jmp 0x518f94
jmp 0x518ef8
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [ebp - 0xa8]
mov dword [ecx], eax
mov dword [ebp - 0x20c], eax
call fcn.00516af0
mov dword [ebp - 0x3c], 0x3a
mov eax, esp
mov ecx, dword [ebp - 0x20c]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xfc]
mov dword [eax], edx
call fcn.00517014
mov byte [ebp - 0x20d], al
jmp 0x5187af
mov al, byte [ebp - 0x20d]
test al, 1
jne 0x5187be
jmp 0x5188e4
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x3b
mov edx, esp
mov dword [edx], ecx
mov dword [ebp - 0x214], eax
call fcn.0051a328
mov dword [ebp - 0x218], eax
jmp 0x5187eb
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x3c
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.005170b0
mov dword [ebp - 0x21c], eax
jmp 0x518811
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x3d
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.005177f8
mov dword [ebp - 0x220], eax
jmp 0x518832
mov dword [ebp - 0x3c], 0x3e
mov eax, esp
mov ecx, dword [ebp - 0x220]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x21c]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x214]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x221], al
jmp 0x518862
mov al, byte [ebp - 0x221]
test al, 1
jne 0x51886e
jmp 0x5188df
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x3f
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a328
mov dword [ebp - 0x228], eax
jmp 0x518889
mov eax, dword [ebp - 0x228]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x50]
mov esi, esp
mov dword [esi], edx
mov dword [ebp - 0x22c], ecx
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x40
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x22c]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov eax, dword [ebp - 0xec]
mov dword [esi], eax
mov dword [esi + 8], 0
call fcn.00519e1c
jmp 0x5188da
jmp 0x518f94
jmp 0x518ef6
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x41
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
mov dword [ebp - 0x230], eax
call fcn.005177f8
mov dword [ebp - 0x234], eax
jmp 0x518917
mov dword [ebp - 0x3c], 0x42
mov eax, esp
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x238], eax
jmp 0x518935
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x43
mov ecx, esp
mov edx, dword [ebp - 0x238]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.005170b0
mov dword [ebp - 0x23c], eax
jmp 0x518959
mov dword [ebp - 0x3c], 0x44
mov eax, esp
mov ecx, dword [ebp - 0x23c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x234]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x230]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x23d], al
jmp 0x518989
mov al, byte [ebp - 0x23d]
test al, 1
jne 0x518998
jmp 0x518bab
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x58], edx
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x3c], 0x45
mov edx, esp
lea esi, [ebp - 0x60]
mov dword [edx], esi
mov dword [ebp - 0x244], eax
call fcn.0051a354
mov dword [ebp - 0x248], eax
jmp 0x5189dc
mov dword [ebp - 0x3c], 0x46
mov eax, esp
mov ecx, dword [ebp - 0x248]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x24c], eax
jmp 0x5189fa
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x47
mov ecx, esp
mov edx, dword [ebp - 0x24c]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.005170b0
mov dword [ebp - 0x250], eax
jmp 0x518a1e
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x48
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.005177f8
mov dword [ebp - 0x254], eax
jmp 0x518a3f
mov dword [ebp - 0x3c], 0x49
mov eax, esp
mov ecx, dword [ebp - 0x254]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x250]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x244]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x255], al
jmp 0x518a6f
mov al, byte [ebp - 0x255]
test al, 1
jne 0x518a7e
jmp 0x518bab
mov dword [ebp - 0x3c], 0x4a
mov eax, esp
lea ecx, [ebp - 0x60]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x25c], eax
jmp 0x518a99
mov dword [ebp - 0x3c], 0x4b
mov eax, esp
mov ecx, dword [ebp - 0x25c]
mov dword [eax], ecx
call fcn.0051755c
mov dword [ebp - 0x260], eax
jmp 0x518ab7
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], 0x4c
mov edx, esp
mov dword [edx], ecx
call fcn.005174e8
mov dword [ebp - 0x264], eax
jmp 0x518ad7
mov eax, dword [ebp - 0x264]
cmp byte [eax], 0
je 0x518b45
mov dword [ebp - 0x3c], 0x4d
mov eax, esp
lea ecx, [ebp - 0x60]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x268], eax
jmp 0x518afd
mov eax, dword [ebp - 0x50]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x4e
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x268]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xec]
mov dword [esi], ecx
mov dword [esi + 8], 0
call fcn.00519e1c
jmp 0x518b40
jmp 0x518f94
mov dword [ebp - 0x3c], 0x4f
mov eax, esp
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x26c], eax
jmp 0x518b63
mov eax, dword [ebp - 0x50]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x50
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x26c]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xec]
mov dword [esi], ecx
mov dword [esi + 8], 1
call fcn.00519e1c
jmp 0x518ba6
jmp 0x518f94
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov dword [ebp - 0x3c], 0x51
mov ecx, esp
mov edx, dword [ebp - 0xfc]
mov dword [ecx], edx
mov dword [ebp - 0x270], eax
call fcn.005170f0
mov dword [ebp - 0x274], eax
jmp 0x518bdb
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x52
mov ecx, esp
mov edx, dword [ebp - 0x274]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.005170b0
mov dword [ebp - 0x278], eax
jmp 0x518bff
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x53
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.005177f8
mov dword [ebp - 0x27c], eax
jmp 0x518c20
mov dword [ebp - 0x3c], 0x54
mov eax, esp
mov ecx, dword [ebp - 0x27c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x278]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x270]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x27d], al
jmp 0x518c50
xor eax, eax
mov cl, al
mov dl, byte [ebp - 0x27d]
test dl, 1
mov byte [ebp - 0x27e], cl
jne 0x518c6a
jmp 0x518db3
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x58], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x3c], 0x55
mov ecx, esp
lea edx, [ebp - 0x60]
mov dword [ecx], edx
call fcn.0051a384
mov dword [ebp - 0x284], eax
jmp 0x518c9c
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [ebp - 0xb4]
mov dword [ecx], eax
mov dword [ebp - 0x288], eax
call fcn.00516af0
mov dword [ebp - 0x3c], 0x56
mov eax, esp
mov ecx, dword [ebp - 0x288]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x284]
mov dword [eax], edx
call fcn.00517014
mov byte [ebp - 0x289], al
jmp 0x518cde
mov al, 1
mov cl, byte [ebp - 0x289]
test cl, 1
mov byte [ebp - 0x28a], al
jne 0x518da7
jmp 0x518cf7
mov eax, dword [ebp - 0x48]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051704c
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x57
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
mov dword [ebp - 0x290], eax
call fcn.005177f8
mov dword [ebp - 0x294], eax
jmp 0x518d2a
mov dword [ebp - 0x3c], 0x58
mov eax, esp
lea ecx, [ebp - 0x60]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x298], eax
jmp 0x518d45
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x59
mov ecx, esp
mov edx, dword [ebp - 0x298]
mov dword [ecx + 4], edx
mov dword [ecx], eax
call fcn.005170b0
mov dword [ebp - 0x29c], eax
jmp 0x518d69
mov dword [ebp - 0x3c], 0x5a
mov eax, esp
mov ecx, dword [ebp - 0x29c]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 0x294]
mov dword [eax + 4], edx
mov esi, dword [ebp - 0x290]
mov dword [eax], esi
call fcn.00517070
mov byte [ebp - 0x29d], al
jmp 0x518d99
mov al, byte [ebp - 0x29d]
mov byte [ebp - 0x28a], al
jmp 0x518da7
mov al, byte [ebp - 0x28a]
mov byte [ebp - 0x27e], al
mov al, byte [ebp - 0x27e]
test al, 1
jne 0x518dc2
jmp 0x518ef2
mov dword [ebp - 0x3c], 0x5b
mov eax, esp
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x2a4], eax
jmp 0x518de0
mov dword [ebp - 0x3c], 0x5c
mov eax, esp
mov ecx, dword [ebp - 0x2a4]
mov dword [eax], ecx
call fcn.0051755c
mov dword [ebp - 0x2a8], eax
jmp 0x518dfe
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], 0x5d
mov edx, esp
mov dword [edx], ecx
call fcn.005174e8
mov dword [ebp - 0x2ac], eax
jmp 0x518e1e
mov eax, dword [ebp - 0x2ac]
cmp byte [eax], 0
je 0x518e8f
mov dword [ebp - 0x3c], 0x5e
mov eax, esp
mov ecx, dword [ebp - 0xfc]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x2b0], eax
jmp 0x518e47
mov eax, dword [ebp - 0x50]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x5f
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x2b0]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xec]
mov dword [esi], ecx
mov dword [esi + 8], 0
call fcn.00519e1c
jmp 0x518e8a
jmp 0x518f94
mov dword [ebp - 0x3c], 0x60
mov eax, esp
lea ecx, [ebp - 0x60]
mov dword [eax], ecx
call fcn.005170f0
mov dword [ebp - 0x2b4], eax
jmp 0x518eaa
mov eax, dword [ebp - 0x50]
mov ecx, esp
mov dword [ecx], eax
call fcn.0051a30c
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0x61
mov esi, esp
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x2b4]
mov dword [esi + 0xc], eax
mov dword [esi + 4], edx
mov ecx, dword [ebp - 0xec]
mov dword [esi], ecx
mov dword [esi + 8], 1
call fcn.00519e1c
jmp 0x518eed
jmp 0x518f94
jmp 0x518ef4
jmp 0x518ef6
jmp 0x518ef8
jmp 0x518efa
jmp 0x518efc
jmp 0x518f29
mov al, byte [ebp - 0x61]
mov ecx, dword [ebp - 0x50]
mov dword [esp], ecx
mov byte [ebp - 0x2bd], al
call fcn.0051a30c
lea ecx, [ebp - 0xc4]
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x3c], 0xffffffff
mov bl, byte [ebp - 0x2bd]
and bl, 1
mov dword [esp], ecx
mov dword [esp + 4], esi
movzx ecx, bl
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.0051a42c
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xec]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx + 8], eax
lea eax, [ebp - 0x44]
mov dword [esp], eax
call fcn.00579e92
mov eax, dword [ebp - 0xd8]
add esp, 0x2dc
pop esi
pop edi
pop ebx
pop ebp
ret