Function at 0x45b2f0
Capabilities:
Copy file
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bae7f
mov eax, dword fs:[0]
push eax
sub esp, 0x81c
push esi
mov eax, dword [0x4dcac0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x774], ecx
mov eax, dword [ebp - 0x774]
movzx ecx, byte [eax + 0x88]
test ecx, ecx
jne 0x45f6e8
push 0
mov ecx, dword [ebp - 0x774]
call fcn.00461c20
push 1
mov ecx, dword [ebp - 0x774]
call fcn.0048d2ce
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1d0], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x48], 0
mov edx, dword [ebp - 0x774]
mov eax, dword [edx + 0x80]
sub eax, 1
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x1cc]
call fcn.0040e300
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.0040e300
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.0040e300
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x38]
call fcn.0040e300
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1bc]
call fcn.0040e300
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c8]
call fcn.0040e300
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1c8]
push ecx
push 0xbdf
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1c8]
call fcn.0040d520
movzx edx, al
test edx, edx
je 0x45b46d
push 0
push 0x4c3174
push 0x4c317c
mov ecx, dword [ebp - 0x774]
call fcn.0048c81c
mov eax, dword [ebp - 0x774]
mov byte [eax + 0x88], 1
jmp 0x45b490
push ecx
mov ecx, esp
mov dword [ebp - 0x554], esp
lea edx, [ebp - 0x1c8]
push edx
call fcn.0040e320
mov dword [ebp - 0x778], eax
call fcn.00407ae0
add esp, 4
lea eax, [ebp - 0x1cc]
push eax
push 0xbe2
mov ecx, dword [ebp - 0x774]
call fcn.00490203
push 0x258
push ecx
mov ecx, esp
mov dword [ebp - 0x558], esp
lea edx, [ebp - 0x1cc]
push edx
call fcn.0040e320
mov dword [ebp - 0x77c], eax
mov eax, dword [ebp - 0x774]
add eax, 0x23c
push eax
call fcn.00406ea0
add esp, 0xc
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x80]
lea eax, [eax + edx + 8]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x55c]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x1c4]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x560], esp
lea edx, [ebp - 0x1cc]
push edx
call fcn.0040e320
mov dword [ebp - 0x780], eax
call fcn.0040a740
add esp, 8
mov dword [ebp - 0x784], eax
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xffffffff
jne 0x45b595
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x2c], 0
jmp 0x45b578
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x34]
jg 0x45b593
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c4]
mov ax, word [ebp - 0x2c]
mov word [edx + ecx*2], ax
jmp 0x45b56f
jmp 0x45b5cf
mov dword [ebp - 0x2c], 0
jmp 0x45b5a7
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x34]
jg 0x45b5cf
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c4]
mov dx, word [ecx + eax*2]
sub dx, 1
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c4]
mov word [ecx + eax*2], dx
jmp 0x45b59e
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x2c], 0
jmp 0x45b5e8
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x34]
jg 0x45b64b
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c4]
movsx eax, word [edx + ecx*2]
test eax, eax
jge 0x45b627
push 0
push 0x4c3190
push 0x4c3198
mov ecx, dword [ebp - 0x774]
call fcn.0048c81c
mov ecx, dword [ebp - 0x774]
mov byte [ecx + 0x88], 1
jmp 0x45b64b
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c4]
movsx ecx, word [eax + edx*2]
cmp dword [ebp - 0x44], ecx
jge 0x45b649
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c4]
movsx ecx, word [eax + edx*2]
mov dword [ebp - 0x44], ecx
jmp 0x45b5df
cmp dword [ebp - 0x34], 2
je 0x45b675
push 0
push 0x4c31b0
push 0x4c31b8
mov ecx, dword [ebp - 0x774]
call fcn.0048c81c
mov edx, dword [ebp - 0x774]
mov byte [edx + 0x88], 1
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov eax, dword [ebp - 0x30]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x564]
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x2c], 0
jmp 0x45b6be
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x30]
jge 0x45b6ea
push 0x28
call fcn.00482070
add esp, 4
mov dword [ebp - 0x568], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x568]
mov dword [ecx + eax*4], edx
jmp 0x45b6b5
mov dword [ebp - 0x40], 1
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
jmp 0x45b702
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0
jl 0x45b758
mov dword [ebp - 0x1d4], 0
jmp 0x45b723
mov edx, dword [ebp - 0x1d4]
add edx, 1
mov dword [ebp - 0x1d4], edx
cmp dword [ebp - 0x1d4], 0xa
jge 0x45b74d
mov eax, dword [ebp - 0x40]
imul eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp - 0x1d4]
mov dword [ecx + edx*4], eax
jmp 0x45b714
mov eax, dword [ebp - 0x40]
imul eax, eax, 0xa
mov dword [ebp - 0x40], eax
jmp 0x45b6f9
mov ecx, dword [ebp - 0x774]
movzx edx, byte [ecx + 0x88]
test edx, edx
jne 0x45f506
mov dword [ebp - 0x260], SysStringLen
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x46c], 0
je 0x45b7a0
push 1
push 0
push 0x3ea
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x298], 1
mov dword [ebp - 0x21c], 0xffffffff
push 0x40
call fcn.00482070
add esp, 4
mov dword [ebp - 0x56c], eax
mov ecx, dword [ebp - 0x56c]
mov dword [ebp - 0x218], ecx
push 0x40
call fcn.00482070
add esp, 4
mov dword [ebp - 0x570], eax
mov edx, dword [ebp - 0x570]
mov dword [ebp - 0x1f8], edx
mov dword [ebp - 0x1d8], 0xffffffff
push 0x18
call fcn.00482070
add esp, 4
mov dword [ebp - 0x574], eax
mov eax, dword [ebp - 0x574]
mov dword [ebp - 0x314], eax
push 0x18
call fcn.00482070
add esp, 4
mov dword [ebp - 0x578], eax
mov ecx, dword [ebp - 0x578]
mov dword [ebp - 0x1dc], ecx
mov dword [ebp - 0x310], 0xffffffff
push 0x18
call fcn.00482070
add esp, 4
mov dword [ebp - 0x57c], eax
mov edx, dword [ebp - 0x57c]
mov dword [ebp - 0x29c], edx
push 0x18
call fcn.00482070
add esp, 4
mov dword [ebp - 0x580], eax
mov eax, dword [ebp - 0x580]
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x774]
cmp dword [ecx + 0x384], 0
je 0x45ba09
mov edx, dword [ebp - 0x21c]
add edx, 1
mov dword [ebp - 0x21c], edx
push 1
push 0
push 0x106b
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov ecx, dword [ebp - 0x21c]
mov dword [ebp + ecx*4 - 0x25c], eax
mov edx, dword [ebp - 0x21c]
cmp dword [ebp + edx*4 - 0x25c], 1
jge 0x45b8de
mov eax, dword [ebp - 0x21c]
mov dword [ebp + eax*4 - 0x25c], 1
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x774]
mov eax, dword [ebp + ecx*4 - 0x25c]
cmp eax, dword [edx + 0x180]
jle 0x45b912
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x774]
mov eax, dword [edx + 0x180]
mov dword [ebp + ecx*4 - 0x25c], eax
lea ecx, [ebp - 0x1cc]
push ecx
push 0x1073
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x584], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x584]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x588], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x588]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x58c], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x788], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x78c]
mov dword [ebp + ecx*4 - 0x30c], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x388], 0
je 0x45bb98
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
push 1
push 0
push 0x106d
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x21c]
mov dword [ebp + edx*4 - 0x25c], eax
mov eax, dword [ebp - 0x21c]
cmp dword [ebp + eax*4 - 0x25c], 1
jge 0x45ba6d
mov ecx, dword [ebp - 0x21c]
mov dword [ebp + ecx*4 - 0x25c], 1
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp + edx*4 - 0x25c]
cmp ecx, dword [eax + 0x180]
jle 0x45baa1
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [eax + 0x180]
mov dword [ebp + edx*4 - 0x25c], ecx
lea edx, [ebp - 0x1cc]
push edx
push 0x1074
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x590], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x590]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x594], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x594]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x598], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x790], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x794], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x794]
mov dword [ebp + ecx*4 - 0x30c], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x38c], 0
je 0x45bd27
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
push 1
push 0
push 0x106f
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x21c]
mov dword [ebp + edx*4 - 0x25c], eax
mov eax, dword [ebp - 0x21c]
cmp dword [ebp + eax*4 - 0x25c], 1
jge 0x45bbfc
mov ecx, dword [ebp - 0x21c]
mov dword [ebp + ecx*4 - 0x25c], 1
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp + edx*4 - 0x25c]
cmp ecx, dword [eax + 0x180]
jle 0x45bc30
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [eax + 0x180]
mov dword [ebp + edx*4 - 0x25c], ecx
lea edx, [ebp - 0x1cc]
push edx
push 0x1075
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x59c], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x59c]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5a0], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x5a0]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x5a4], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x798], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x79c]
mov dword [ebp + ecx*4 - 0x30c], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x390], 0
je 0x45beb6
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
push 1
push 0
push 0x1071
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x21c]
mov dword [ebp + edx*4 - 0x25c], eax
mov eax, dword [ebp - 0x21c]
cmp dword [ebp + eax*4 - 0x25c], 1
jge 0x45bd8b
mov ecx, dword [ebp - 0x21c]
mov dword [ebp + ecx*4 - 0x25c], 1
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp + edx*4 - 0x25c]
cmp ecx, dword [eax + 0x180]
jle 0x45bdbf
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [eax + 0x180]
mov dword [ebp + edx*4 - 0x25c], ecx
lea edx, [ebp - 0x1cc]
push edx
push 0x1076
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5a8], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x5a8]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5ac], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x5ac]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x5b0], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x7a0], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x7a4], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x7a4]
mov dword [ebp + ecx*4 - 0x30c], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x394], 0
je 0x45c045
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
push 1
push 0
push 0x106c
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x21c]
mov dword [ebp + edx*4 - 0x25c], eax
mov eax, dword [ebp - 0x21c]
cmp dword [ebp + eax*4 - 0x25c], 1
jge 0x45bf1a
mov ecx, dword [ebp - 0x21c]
mov dword [ebp + ecx*4 - 0x25c], 1
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp + edx*4 - 0x25c]
cmp ecx, dword [eax + 0x180]
jle 0x45bf4e
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [eax + 0x180]
mov dword [ebp + edx*4 - 0x25c], ecx
lea edx, [ebp - 0x1cc]
push edx
push 0x1070
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5b4], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x5b4]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5b8], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x5b8]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x5bc], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x7a8], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x7ac], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x7ac]
mov dword [ebp + ecx*4 - 0x30c], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x398], 0
je 0x45c1d4
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
push 1
push 0
push 0x1077
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x21c]
mov dword [ebp + edx*4 - 0x25c], eax
mov eax, dword [ebp - 0x21c]
cmp dword [ebp + eax*4 - 0x25c], 1
jge 0x45c0a9
mov ecx, dword [ebp - 0x21c]
mov dword [ebp + ecx*4 - 0x25c], 1
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp + edx*4 - 0x25c]
cmp ecx, dword [eax + 0x180]
jle 0x45c0dd
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [eax + 0x180]
mov dword [ebp + edx*4 - 0x25c], ecx
lea edx, [ebp - 0x1cc]
push edx
push 0x1078
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5c0], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x5c0]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5c4], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x5c4]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x5c8], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x7b0], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x7b4]
mov dword [ebp + ecx*4 - 0x30c], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x3a0], 0
je 0x45c363
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
push 1
push 0
push 0x1079
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x21c]
mov dword [ebp + edx*4 - 0x25c], eax
mov eax, dword [ebp - 0x21c]
cmp dword [ebp + eax*4 - 0x25c], 1
jge 0x45c238
mov ecx, dword [ebp - 0x21c]
mov dword [ebp + ecx*4 - 0x25c], 1
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp + edx*4 - 0x25c]
cmp ecx, dword [eax + 0x180]
jle 0x45c26c
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [eax + 0x180]
mov dword [ebp + edx*4 - 0x25c], ecx
lea edx, [ebp - 0x1cc]
push edx
push 0x107a
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x5cc]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5d0], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x5d0]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x5d4], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x7b8], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x7bc], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x7bc]
mov dword [ebp + ecx*4 - 0x30c], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x39c], 0
je 0x45c4f2
mov ecx, dword [ebp - 0x21c]
add ecx, 1
mov dword [ebp - 0x21c], ecx
push 1
push 0
push 0x107b
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x21c]
mov dword [ebp + edx*4 - 0x25c], eax
mov eax, dword [ebp - 0x21c]
cmp dword [ebp + eax*4 - 0x25c], 1
jge 0x45c3c7
mov ecx, dword [ebp - 0x21c]
mov dword [ebp + ecx*4 - 0x25c], 1
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp + edx*4 - 0x25c]
cmp ecx, dword [eax + 0x180]
jle 0x45c3fb
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x774]
mov ecx, dword [eax + 0x180]
mov dword [ebp + edx*4 - 0x25c], ecx
lea edx, [ebp - 0x1cc]
push edx
push 0x107c
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x5d8]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x5dc]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x5e0], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x7c0], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x7c4], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x7c4]
mov dword [ebp + ecx*4 - 0x30c], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x3a4], 0
je 0x45c703
mov ecx, dword [ebp - 0x1d8]
add ecx, 1
mov dword [ebp - 0x1d8], ecx
push 1
push 0
push 0x107d
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x1d8]
mov dword [ebp + edx*4 - 0x1f4], eax
mov eax, dword [ebp - 0x1d8]
cmp dword [ebp + eax*4 - 0x1f4], 1
jge 0x45c556
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp + ecx*4 - 0x1f4], 1
push 1
push 0
push 0x107f
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x1d8]
mov dword [ebp + edx*4 - 0x278], eax
mov eax, dword [ebp - 0x1d8]
cmp dword [ebp + eax*4 - 0x278], 1
jge 0x45c598
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp + ecx*4 - 0x278], 1
mov edx, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp + edx*4 - 0x1f4]
cmp ecx, dword [ebp + eax*4 - 0x278]
jle 0x45c5d8
mov edx, dword [ebp - 0x1d8]
lea eax, [ebp + edx*4 - 0x278]
push eax
mov ecx, dword [ebp - 0x1d8]
lea edx, [ebp + ecx*4 - 0x1f4]
push edx
call fcn.00404260
add esp, 8
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ebp + eax*4 - 0x278]
cmp edx, dword [ecx + 0x180]
jle 0x45c60c
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x180]
mov dword [ebp + eax*4 - 0x278], edx
lea eax, [ebp - 0x1cc]
push eax
push 0x107e
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5e4], eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x314]
mov edx, dword [ebp - 0x5e4]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x5e8]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x314]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x5ec], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x7c8], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x7cc]
mov dword [ebp + ecx*4 - 0x214], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x3ac], 0
je 0x45c914
mov ecx, dword [ebp - 0x1d8]
add ecx, 1
mov dword [ebp - 0x1d8], ecx
push 1
push 0
push 0x1072
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x1d8]
mov dword [ebp + edx*4 - 0x1f4], eax
mov eax, dword [ebp - 0x1d8]
cmp dword [ebp + eax*4 - 0x1f4], 1
jge 0x45c767
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp + ecx*4 - 0x1f4], 1
push 1
push 0
push 0x1081
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x1d8]
mov dword [ebp + edx*4 - 0x278], eax
mov eax, dword [ebp - 0x1d8]
cmp dword [ebp + eax*4 - 0x278], 1
jge 0x45c7a9
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp + ecx*4 - 0x278], 1
mov edx, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp + edx*4 - 0x1f4]
cmp ecx, dword [ebp + eax*4 - 0x278]
jle 0x45c7e9
mov edx, dword [ebp - 0x1d8]
lea eax, [ebp + edx*4 - 0x278]
push eax
mov ecx, dword [ebp - 0x1d8]
lea edx, [ebp + ecx*4 - 0x1f4]
push edx
call fcn.00404260
add esp, 8
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ebp + eax*4 - 0x278]
cmp edx, dword [ecx + 0x180]
jle 0x45c81d
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x180]
mov dword [ebp + eax*4 - 0x278], edx
lea eax, [ebp - 0x1cc]
push eax
push 0x1082
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5f0], eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x314]
mov edx, dword [ebp - 0x5f0]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5f4], eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x5f4]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x314]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x5f8], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x7d0], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x7d4], eax
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x7d4]
mov dword [ebp + ecx*4 - 0x214], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x3b8], 0
je 0x45cb25
mov ecx, dword [ebp - 0x1d8]
add ecx, 1
mov dword [ebp - 0x1d8], ecx
push 1
push 0
push 0x1098
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x1d8]
mov dword [ebp + edx*4 - 0x1f4], eax
mov eax, dword [ebp - 0x1d8]
cmp dword [ebp + eax*4 - 0x1f4], 1
jge 0x45c978
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp + ecx*4 - 0x1f4], 1
push 1
push 0
push 0x109a
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x1d8]
mov dword [ebp + edx*4 - 0x278], eax
mov eax, dword [ebp - 0x1d8]
cmp dword [ebp + eax*4 - 0x278], 1
jge 0x45c9ba
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp + ecx*4 - 0x278], 1
mov edx, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp + edx*4 - 0x1f4]
cmp ecx, dword [ebp + eax*4 - 0x278]
jle 0x45c9fa
mov edx, dword [ebp - 0x1d8]
lea eax, [ebp + edx*4 - 0x278]
push eax
mov ecx, dword [ebp - 0x1d8]
lea edx, [ebp + ecx*4 - 0x1f4]
push edx
call fcn.00404260
add esp, 8
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ebp + eax*4 - 0x278]
cmp edx, dword [ecx + 0x180]
jle 0x45ca2e
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x180]
mov dword [ebp + eax*4 - 0x278], edx
lea eax, [ebp - 0x1cc]
push eax
push 0x109e
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x5fc], eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x314]
mov edx, dword [ebp - 0x5fc]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x600], eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x600]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x314]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x604], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x7d8], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x7dc], eax
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x7dc]
mov dword [ebp + ecx*4 - 0x214], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x3bc], 0
je 0x45cd36
mov ecx, dword [ebp - 0x1d8]
add ecx, 1
mov dword [ebp - 0x1d8], ecx
push 1
push 0
push 0x109b
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x1d8]
mov dword [ebp + edx*4 - 0x1f4], eax
mov eax, dword [ebp - 0x1d8]
cmp dword [ebp + eax*4 - 0x1f4], 1
jge 0x45cb89
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp + ecx*4 - 0x1f4], 1
push 1
push 0
push 0x109c
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x1d8]
mov dword [ebp + edx*4 - 0x278], eax
mov eax, dword [ebp - 0x1d8]
cmp dword [ebp + eax*4 - 0x278], 1
jge 0x45cbcb
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp + ecx*4 - 0x278], 1
mov edx, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp + edx*4 - 0x1f4]
cmp ecx, dword [ebp + eax*4 - 0x278]
jle 0x45cc0b
mov edx, dword [ebp - 0x1d8]
lea eax, [ebp + edx*4 - 0x278]
push eax
mov ecx, dword [ebp - 0x1d8]
lea edx, [ebp + ecx*4 - 0x1f4]
push edx
call fcn.00404260
add esp, 8
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ebp + eax*4 - 0x278]
cmp edx, dword [ecx + 0x180]
jle 0x45cc3f
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x180]
mov dword [ebp + eax*4 - 0x278], edx
lea eax, [ebp - 0x1cc]
push eax
push 0x109f
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x608], eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x314]
mov edx, dword [ebp - 0x608]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x60c], eax
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x60c]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x314]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x610], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x7e0], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x7e4]
mov dword [ebp + ecx*4 - 0x214], edx
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x3a8], 0
je 0x45cf47
mov ecx, dword [ebp - 0x310]
add ecx, 1
mov dword [ebp - 0x310], ecx
push 1
push 0
push 0x1080
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x310]
mov dword [ebp + edx*4 - 0x2cc], eax
mov eax, dword [ebp - 0x310]
cmp dword [ebp + eax*4 - 0x2cc], 1
jge 0x45cd9a
mov ecx, dword [ebp - 0x310]
mov dword [ebp + ecx*4 - 0x2cc], 1
push 1
push 0
push 0x106e
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov edx, dword [ebp - 0x310]
mov dword [ebp + edx*4 - 0x2b4], eax
mov eax, dword [ebp - 0x310]
cmp dword [ebp + eax*4 - 0x2b4], 1
jge 0x45cddc
mov ecx, dword [ebp - 0x310]
mov dword [ebp + ecx*4 - 0x2b4], 1
mov edx, dword [ebp - 0x310]
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp + edx*4 - 0x2cc]
cmp ecx, dword [ebp + eax*4 - 0x2b4]
jle 0x45ce1c
mov edx, dword [ebp - 0x310]
lea eax, [ebp + edx*4 - 0x2b4]
push eax
mov ecx, dword [ebp - 0x310]
lea edx, [ebp + ecx*4 - 0x2cc]
push edx
call fcn.00404260
add esp, 8
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ebp + eax*4 - 0x2b4]
cmp edx, dword [ecx + 0x180]
jle 0x45ce50
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x180]
mov dword [ebp + eax*4 - 0x2b4], edx
lea eax, [ebp - 0x1cc]
push eax
push 0x1099
mov ecx, dword [ebp - 0x774]
call fcn.00490203
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x614], eax
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x614]
mov dword [ecx + eax*4], edx
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 2
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x618], eax
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ebp - 0x618]
mov dword [ecx + eax*4], edx
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx + eax*4]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x61c], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x7e8], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x7ec], eax
mov ecx, dword [ebp - 0x310]
mov edx, dword [ebp - 0x7ec]
mov dword [ebp + ecx*4 - 0x294], edx
mov dword [ebp - 0x27c], SysStringLen
mov dword [ebp - 0x2c], 0
jmp 0x45cf63
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x21c]
jg 0x45cfb4
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp + edx*4 - 0x25c]
jge 0x45cf90
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp + ecx*4 - 0x25c]
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x27c]
cmp ecx, dword [ebp + eax*4 - 0x25c]
jle 0x45cfb2
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + edx*4 - 0x25c]
mov dword [ebp - 0x27c], eax
jmp 0x45cf5a
mov dword [ebp - 0x2c], 0
jmp 0x45cfc6
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x1d8]
jg 0x45d017
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x298]
cmp ecx, dword [ebp + eax*4 - 0x278]
jge 0x45cff3
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + edx*4 - 0x278]
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x27c]
cmp edx, dword [ebp + ecx*4 - 0x1f4]
jle 0x45d015
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x1f4]
mov dword [ebp - 0x27c], ecx
jmp 0x45cfbd
mov dword [ebp - 0x2c], 0
jmp 0x45d029
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x21c]
jg 0x45d04d
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp + ecx*4 - 0x25c]
sub edx, 1
mov eax, dword [ebp - 0x2c]
mov dword [ebp + eax*4 - 0x25c], edx
jmp 0x45d020
mov dword [ebp - 0x2c], 0
jmp 0x45d05f
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x1d8]
jg 0x45d09a
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x1f4]
sub ecx, 1
mov edx, dword [ebp - 0x2c]
mov dword [ebp + edx*4 - 0x1f4], ecx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x278]
sub ecx, 1
mov edx, dword [ebp - 0x2c]
mov dword [ebp + edx*4 - 0x278], ecx
jmp 0x45d056
mov dword [ebp - 0x2c], 0
jmp 0x45d0ac
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x310]
jg 0x45d0fd
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x298]
cmp eax, dword [ebp + edx*4 - 0x2b4]
jge 0x45d0d9
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp + ecx*4 - 0x2b4]
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x27c]
cmp ecx, dword [ebp + eax*4 - 0x2cc]
jle 0x45d0fb
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + edx*4 - 0x2cc]
mov dword [ebp - 0x27c], eax
jmp 0x45d0a3
mov dword [ebp - 0x2c], 0
jmp 0x45d10f
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x310]
jg 0x45d14a
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x2cc]
sub ecx, 1
mov edx, dword [ebp - 0x2c]
mov dword [ebp + edx*4 - 0x2cc], ecx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x2b4]
sub ecx, 1
mov edx, dword [ebp - 0x2c]
mov dword [ebp + edx*4 - 0x2b4], ecx
jmp 0x45d106
cmp dword [ebp - 0x27c], 0x7fffffff
je 0x45f341
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x620], eax
mov eax, dword [ebp - 0x620]
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x2c], 0
jmp 0x45d19d
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x298]
jge 0x45d1e1
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x624], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x338]
mov edx, dword [ebp - 0x624]
mov dword [ecx + eax*4], edx
jmp 0x45d194
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x628], eax
mov eax, dword [ebp - 0x628]
mov dword [ebp - 0x4fc], eax
mov dword [ebp - 0x2c], 0
jmp 0x45d224
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x298]
jge 0x45d241
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4fc]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x45d21b
mov dword [ebp - 0x2c], 0
jmp 0x45d253
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x21c]
jg 0x45d2b5
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp + ecx*4 - 0x25c]
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [eax + edx*4]
add ecx, 1
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + edx*4 - 0x25c]
mov edx, dword [ebp - 0x4fc]
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + eax*4 - 0x25c]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + edx*4 - 0x25c]
mov edx, dword [ebp - 0x4fc]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0x338]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp - 0x2c]
mov dword [ecx + eax*4], edx
jmp 0x45d24a
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x62c]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x2c], 0
jmp 0x45d2f8
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x298]
jge 0x45d33c
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4c0]
mov edx, dword [ebp - 0x630]
mov dword [ecx + eax*4], edx
jmp 0x45d2ef
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x634]
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x2c], 0
jmp 0x45d37f
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x298]
jge 0x45d39c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4f8]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x45d376
mov dword [ebp - 0x2c], 0
jmp 0x45d3ae
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x298]
jge 0x45d44d
mov dword [ebp - 0x1d4], 0
jmp 0x45d3d8
mov ecx, dword [ebp - 0x1d4]
add ecx, 1
mov dword [ebp - 0x1d4], ecx
mov edx, dword [ebp - 0x1d4]
cmp edx, dword [ebp - 0x1d8]
jg 0x45d448
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp + eax*4 - 0x1f4]
jl 0x45d446
mov edx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp + edx*4 - 0x278]
jg 0x45d446
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4f8]
mov eax, dword [edx + ecx*4]
add eax, 1
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4f8]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4f8]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4c0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0x1d4]
mov dword [eax + edx*4], ecx
jmp 0x45d3c9
jmp 0x45d3a5
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x638], eax
mov eax, dword [ebp - 0x638]
mov dword [ebp - 0x504], eax
mov dword [ebp - 0x2c], 0
jmp 0x45d490
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x298]
jge 0x45d4d4
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x63c], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x504]
mov edx, dword [ebp - 0x63c]
mov dword [ecx + eax*4], edx
jmp 0x45d487
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x640], eax
mov eax, dword [ebp - 0x640]
mov dword [ebp - 0x4f4], eax
mov dword [ebp - 0x2c], 0
jmp 0x45d517
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x298]
jge 0x45d534
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4f4]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x45d50e
mov dword [ebp - 0x2c], 0
jmp 0x45d546
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x298]
jge 0x45d5e5
mov dword [ebp - 0x1d4], 0
jmp 0x45d570
mov ecx, dword [ebp - 0x1d4]
add ecx, 1
mov dword [ebp - 0x1d4], ecx
mov edx, dword [ebp - 0x1d4]
cmp edx, dword [ebp - 0x310]
jg 0x45d5e0
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp + eax*4 - 0x2cc]
jl 0x45d5de
mov edx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp + edx*4 - 0x2b4]
jg 0x45d5de
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4f4]
mov eax, dword [edx + ecx*4]
add eax, 1
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4f4]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4f4]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x504]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0x1d4]
mov dword [eax + edx*4], ecx
jmp 0x45d561
jmp 0x45d53d
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x644], eax
mov eax, dword [ebp - 0x644]
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x2c], 0
jmp 0x45d628
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x298]
jge 0x45d66c
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x648], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4a0]
mov edx, dword [ebp - 0x648]
mov dword [ecx + eax*4], edx
jmp 0x45d61f
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x64c], eax
mov eax, dword [ebp - 0x64c]
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x2c], 0
jmp 0x45d6af
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x298]
jge 0x45d6cc
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4bc]
mov dword [ecx + eax*4], 0xffffffff
jmp 0x45d6a6
mov dword [ebp - 0x2c], 0
jmp 0x45d6de
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x298]
jge 0x45d767
mov dword [ebp - 0x1d4], 0
jmp 0x45d704
mov ecx, dword [ebp - 0x1d4]
add ecx, 1
mov dword [ebp - 0x1d4], ecx
mov edx, dword [ebp - 0x1d4]
cmp edx, dword [ebp - 0x310]
jg 0x45d762
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp + eax*4 - 0x2b4]
jne 0x45d760
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4bc]
mov ecx, dword [eax + edx*4]
add ecx, 1
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4bc]
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4bc]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4a0]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp - 0x1d4]
mov dword [ecx + eax*4], edx
jmp 0x45d6f5
jmp 0x45d6d5
mov eax, dword [ebp - 0x310]
add eax, 1
mov dword [ebp - 0x324], eax
xor ecx, ecx
mov eax, dword [ebp - 0x324]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x650], eax
mov eax, dword [ebp - 0x650]
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp - 0x324]
shl ecx, 2
mov dword [ebp - 0x4dc], ecx
xor ecx, ecx
mov edx, dword [ebp - 0x774]
mov eax, dword [edx + 0x180]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x654]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x180]
shl edx, 2
push edx
push 0
mov eax, dword [ebp - 0x518]
push eax
call fcn.004a47d0
add esp, 0xc
mov dword [ebp - 0x2c], 0
jmp 0x45d820
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x774]
mov eax, dword [ebp - 0x2c]
cmp eax, dword [edx + 0x180]
jge 0x45d8c9
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x174]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x44]
cmp ecx, dword [edx + eax*4]
jg 0x45d8c4
mov dword [ebp - 0x1d4], 0
jmp 0x45d867
mov edx, dword [ebp - 0x1d4]
add edx, 1
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d4]
cmp eax, dword [ebp - 0x34]
jg 0x45d8c4
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x170]
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1c4]
movsx eax, word [ecx + eax*2]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [edx + ecx*4]
movsx eax, word [edx + eax*2]
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x518]
mov edx, dword [esi + edx*4]
add edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x518]
mov dword [ecx + eax*4], edx
jmp 0x45d858
jmp 0x45d817
mov edx, dword [ebp - 0x774]
mov eax, dword [edx + 0x17c]
sub eax, dword [ebp - 0x298]
add eax, 1
mov dword [ebp - 0x4e0], eax
jns 0x45d8f0
mov dword [ebp - 0x4e0], 0
xor ecx, ecx
mov eax, dword [ebp - 0x298]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x658], eax
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x298]
sub ecx, 1
mov dword [ebp - 0x4b8], ecx
mov edx, dword [ebp - 0x4b8]
sub edx, 1
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp - 0x27c]
sub eax, 1
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x4d8], 1
xor ecx, ecx
mov eax, dword [ebp - 0x4d8]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x65c], eax
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x4d8]
shl ecx, 2
mov dword [ebp - 0x4e8], ecx
mov ecx, dword [ebp - 0x774]
add ecx, 0x294
call fcn.004719b0
mov dword [ebp - 0x4a4], 0xe
push 1
push 0
push 0x41f
mov ecx, dword [ebp - 0x774]
call fcn.0048a6d7
mov dword [ebp - 0x510], eax
mov edx, dword [ebp - 0x510]
sub edx, 1
mov dword [ebp - 0x4d0], edx
lea eax, [ebp - 0x1cc]
push eax
push 0xbe3
mov ecx, dword [ebp - 0x774]
call fcn.00490203
push 0x320
push ecx
mov ecx, esp
mov dword [ebp - 0x660], esp
lea edx, [ebp - 0x1cc]
push edx
call fcn.0040e320
mov dword [ebp - 0x7f0], eax
mov eax, dword [ebp - 0x774]
add eax, 0xb7c
push eax
call fcn.00406ea0
add esp, 0xc
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 3
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x664], eax
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0x50c], eax
lea ecx, [ebp - 0x1cc]
call fcn.0040e470
add eax, 3
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x668], eax
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
push ecx
mov edx, dword [ebp - 0x50c]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x66c], esp
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040e320
mov dword [ebp - 0x7f4], eax
call fcn.004039b0
add esp, 0xc
mov dword [ebp - 0x7f8], eax
mov ecx, dword [ebp - 0x7f8]
mov dword [ebp - 0x4b0], ecx
mov edx, dword [ebp - 0x510]
push edx
mov eax, dword [ebp - 0x4a4]
push eax
call fcn.00401400
add esp, 8
mov dword [ebp - 0x508], eax
mov ecx, dword [ebp - 0x4a4]
add ecx, 1
mov dword [ebp - 0x4cc], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x508]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x2c], 0
jmp 0x45db4a
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x508]
jge 0x45db7e
mov eax, dword [ebp - 0x4cc]
push eax
call fcn.00482070
add esp, 4
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x330]
mov eax, dword [ebp - 0x674]
mov dword [edx + ecx*4], eax
jmp 0x45db41
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x678], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x678]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.00482070
add esp, 4
mov dword [ebp - 0x67c], eax
cmp dword [ebp - 0x67c], 0
je 0x45dc05
mov ecx, dword [ebp - 0x67c]
mov edx, dword [ebp - 0x678]
mov dword [ecx], edx
push fcn.0040e3c0
push fcn.0040e300
mov eax, dword [ebp - 0x678]
push eax
push 4
mov ecx, dword [ebp - 0x67c]
add ecx, 4
push ecx
call fcn.004a59f5
mov edx, dword [ebp - 0x67c]
add edx, 4
mov dword [ebp - 0x7fc], edx
jmp 0x45dc0f
mov dword [ebp - 0x7fc], 0
mov eax, dword [ebp - 0x7fc]
mov dword [ebp - 0x500], eax
push 0xd6d80
call fcn.00482070
add esp, 4
mov dword [ebp - 0x680], eax
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x4ac], ecx
mov dword [ebp - 0x4c8], 0
mov edx, dword [ebp - 0x4cc]
mov dword [ebp - 0x4d4], edx
mov dword [ebp - 0x1d4], 0
jmp 0x45dc6b
mov eax, dword [ebp - 0x1d4]
add eax, 1
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
cmp ecx, dword [ebp - 0x510]
jge 0x45dc8e
mov edx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0x1d4]
mov dword [ebp + edx*4 - 0x49c], eax
jmp 0x45dc5c
mov byte [ebp - 0x4a5], 1
mov dword [ebp - 0x32c], 0xffffffff
movzx ecx, byte [ebp - 0x4a5]
test ecx, ecx
je 0x45de44
mov edx, dword [ebp - 0x32c]
add edx, 1
mov dword [ebp - 0x32c], edx
mov eax, dword [ebp - 0x4d4]
push eax
push 0
mov ecx, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x330]
mov eax, dword [edx + ecx*4]
push eax
call fcn.004a47d0
add esp, 0xc
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x1d4], 0
jmp 0x45dd03
mov ecx, dword [ebp - 0x1d4]
add ecx, 1
mov dword [ebp - 0x1d4], ecx
mov edx, dword [ebp - 0x1d4]
cmp edx, dword [ebp - 0x510]
jge 0x45dd65
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp + eax*4 - 0x49c]
mov edx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x330]
mov edx, dword [eax + edx*4]
mov byte [ecx + edx + 1], 1
push 0
push 1
push 2
push 1
push 1
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp + eax*4 - 0x49c]
add ecx, 1
push ecx
lea edx, [ebp - 0x4c8]
push edx
mov eax, dword [ebp - 0x4ac]
push eax
call fcn.00401870
add esp, 0x20
jmp 0x45dcf4
mov ecx, dword [ebp - 0x4c8]
sub ecx, 1
mov dword [ebp - 0x4c8], ecx
mov edx, dword [ebp - 0x4ac]
add edx, dword [ebp - 0x4c8]
mov byte [edx], 0
mov eax, dword [ebp - 0x4ac]
push eax
mov ecx, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x500]
lea ecx, [edx + ecx*4]
call fcn.0040e400
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x2c], eax
jmp 0x45ddb2
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0
jl 0x45de3f
mov edx, dword [ebp - 0x510]
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4a4]
sub eax, edx
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp + ecx*4 - 0x49c], eax
jge 0x45de2d
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + edx*4 - 0x49c]
add eax, 1
mov ecx, dword [ebp - 0x2c]
mov dword [ebp + ecx*4 - 0x49c], eax
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x48], edx
jmp 0x45de04
mov eax, dword [ebp - 0x48]
add eax, 1
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [ebp - 0x4d0]
jg 0x45de2b
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp + edx*4 - 0x49c]
add eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp + ecx*4 - 0x49c], eax
jmp 0x45ddfb
jmp 0x45de3f
cmp dword [ebp - 0x2c], 0
jne 0x45de3a
mov byte [ebp - 0x4a5], 0
jmp 0x45dda9
jmp 0x45dc9f
push 0xc
call fcn.00482070
add esp, 4
mov dword [ebp - 0x684], eax
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x2c], 0
jmp 0x45de72
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 3
jge 0x45de9c
push 0x14
call fcn.00482070
add esp, 4
mov dword [ebp - 0x688], eax
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x328]
mov eax, dword [ebp - 0x688]
mov dword [edx + ecx*4], eax
jmp 0x45de69
mov dword [ebp - 0x4c4], 0x3e8
mov dword [ebp - 0x18], 0
jmp 0x45deb8
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 3
jge 0x45df0b
mov eax, dword [ebp - 0x4c4]
cdq
mov ecx, 0xa
idiv ecx
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x2c], 0
jmp 0x45dee4
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 9
jg 0x45df09
mov eax, dword [ebp - 0x2c]
imul eax, dword [ebp - 0x4c4]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x328]
mov ecx, dword [edx + ecx*4]
mov edx, dword [ebp - 0x2c]
mov word [ecx + edx*2], ax
jmp 0x45dedb
jmp 0x45deaf
push 0xfa0
call fcn.00482070
add esp, 4
mov dword [ebp - 0x68c], eax
mov eax, dword [ebp - 0x68c]
mov dword [ebp - 0x4ec], eax
mov dword [ebp - 0x2c], 0
jmp 0x45df3c
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x3e8
jge 0x45df69
push 6
call fcn.00482070
add esp, 4
mov dword [ebp - 0x690], eax
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [ebp - 0x690]
mov dword [eax + edx*4], ecx
jmp 0x45df33
mov dword [ebp - 0x32c], 0xffffffff
mov dword [ebp - 0x2c], 0
jmp 0x45df85
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 9
jg 0x45e040
mov dword [ebp - 0x1d4], 0
jmp 0x45dfaa
mov eax, dword [ebp - 0x1d4]
add eax, 1
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], 9
jg 0x45e03b
mov dword [ebp - 0x1b8], 0
jmp 0x45dfd2
mov ecx, dword [ebp - 0x1b8]
add ecx, 1
mov dword [ebp - 0x1b8], ecx
cmp dword [ebp - 0x1b8], 9
jg 0x45e036
mov edx, dword [ebp - 0x32c]
add edx, 1
mov dword [ebp - 0x32c], edx
mov eax, dword [ebp - 0x32c]
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + eax*4]
mov ax, word [ebp - 0x2c]
mov word [edx], ax
mov ecx, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x4ec]
mov eax, dword [edx + ecx*4]
mov cx, word [ebp - reloc.crypt32.dll_CertOpenStore]
mov word [eax + 2], cx
mov edx, dword [ebp - 0x32c]
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax + edx*4]
mov dx, word [ebp - reloc.crypt32.dll_CertOpenStore]
mov word [ecx + 4], dx
jmp 0x45dfc3
jmp 0x45df9b
jmp 0x45df7c
mov ecx, dword [ebp - 0x774]
add ecx, 0x360
call fcn.0044df20
mov dword [ebp - 0x31c], eax
xor eax, eax
je 0x45e778
xor ecx, ecx
mov eax, dword [ebp - 0x4d8]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00482070
add esp, 4
mov dword [ebp - 0x694], eax
mov eax, dword [ebp - 0x694]
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x1d4], 0
jmp 0x45e0ab
mov ecx, dword [ebp - 0x1d4]
add ecx, 1
mov dword [ebp - 0x1d4], ecx
mov edx, dword [ebp - 0x1d4]
cmp edx, dword [ebp - 0x30]
jge 0x45e0c9
mov eax, dword [ebp - 0x1d4]
mov dword [ebp + eax*4 - 0x49c], 0
jmp 0x45e09c
mov dword [ebp - 0x51c], 0xffffffff
mov ecx, 1
test ecx, ecx
je 0x45e249
mov edx, dword [ebp - 0x774]
movzx eax, byte [edx + 0x88]
test eax, eax
je 0x45e0f6
jmp 0x45e249
mov ecx, dword [ebp - 0x51c]
add ecx, 1
mov dword [ebp - 0x51c], ecx
mov dword [ebp - 0x1d4], 0
jmp 0x45e120
mov edx, dword [ebp - 0x1d4]
add edx, 1
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d4]
cmp eax, dword [ebp - 0x30]
jge 0x45e147
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x1d4]
mov eax, dword [ebp + edx*4 - 0x49c]
mov dword [ebp + ecx*4 - 0x1ac], eax
jmp 0x45e111
mov ecx, dword [ebp - 0x34]
push ecx
lea edx, [ebp - 0x1ac]
push edx
call fcn.004011c0
add esp, 8
mov eax, dword [ebp - 0x51c]
mov ecx, dword [ebp - 0x520]
mov dword [ecx + eax*4], 0
mov dword [ebp - 0x1d4], 0
jmp 0x45e188
mov edx, dword [ebp - 0x1d4]
add edx, 1
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d4]
cmp eax, dword [ebp - 0x30]
jge 0x45e1d2
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp + ecx*4 - 0x1ac]
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1c0]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ebp - 0x51c]
mov esi, dword [ebp - 0x520]
mov ecx, dword [esi + ecx*4]
add ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x51c]
mov eax, dword [ebp - 0x520]
mov dword [eax + edx*4], ecx
jmp 0x45e179
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x1d4], ecx
jmp 0x45e1ec
mov edx, dword [ebp - 0x1d4]
sub edx, 1
mov dword [ebp - 0x1d4], edx
cmp dword [ebp - 0x1d4], 0
jl 0x45e239
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp + eax*4 - 0x49c]
add ecx, 1
mov edx, dword [ebp - 0x1d4]
mov dword [ebp + edx*4 - 0x49c], ecx
mov eax, dword [ebp - 0x1d4]
cmp dword [ebp + eax*4 - 0x49c], 9
jg 0x45e226
jmp 0x45e239
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp + ecx*4 - 0x49c], 0
jmp 0x45e1dd
cmp dword [ebp - 0x1d4], 0
jge 0x45e244
jmp 0x45e249
jmp 0x45e0d3
mov dword [ebp - 0x2c], 0
jmp 0x45e25b
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + 0x180]
jge 0x45e28f
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x518]
mov esi, dword [ebp - 0x520]
mov ecx, dword [esi + ecx*4]
mov dword [eax + edx*4], ecx
jmp 0x45e252
mov dword [ebp - 0x10], 0
jmp 0x45e2a1
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x31c]
jg 0x45e758
mov ecx, dword [ebp - 0x774]
movzx edx, byte [ecx + 0x88]
test edx, edx
je 0x45e2c6
jmp 0x45e758
mov eax, dword [ebp - 0x4e8]
push eax
push 0
mov ecx, dword [ebp - 0x514]
push ecx
call fcn.004a47d0
add esp, 0xc
mov edx, dword [ebp - 0x4dc]
push edx
push 0
mov eax, dword [ebp - 0x334]
push eax
call fcn.004a47d0
add esp, 0xc
mov byte [ebp - 0x529], 1
mov dword [ebp - 0x524], 0
mov dword [ebp - 0x528], 0xffffffff
mov dword [ebp - 0x1b0], 0
jmp 0x45e32c
mov ecx, dword [ebp - 0x1b0]
add ecx, 1
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x774]
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [edx + 0x17c]
jg 0x45e678
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x17c]
sub edx, dword [ebp - 0x1b0]
mov dword [ebp - 0x530], edx
mov eax, dword [ebp - 0x530]
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x514]
cmp dword [eax + edx*4], 0
jg 0x45e38f
mov ecx, dword [ebp - 0x774]
mov edx, dword [ebp - 0x1b0]
cmp edx, dword [ecx + 0x17c]
jne 0x45e657
mov eax, dword [ebp - 0x528]
add eax, 1
mov dword [ebp - 0x528], eax
mov dword [ebp - 0x2c], 0
jmp 0x45e3b0
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + edx*4]
jg 0x45e443
mov edx, dword [ebp - 0x524]
push edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x338]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp + ecx*4 - 0x30c]
push edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x338]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0x1f8]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x528]
mov edx, dword [ebp - 0x338]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x45e43e
mov byte [ebp - 0x529], 0
jmp 0x45e443
jmp 0x45e3a7
movzx eax, byte [ebp - 0x529]
test eax, eax
jne 0x45e453
jmp 0x45e678
mov dword [ebp - 0x2c], 0
jmp 0x45e465
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x4f8]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + edx*4]
jg 0x45e4f8
mov edx, dword [ebp - 0x524]
push edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x4c0]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp + ecx*4 - 0x214]
push edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x4c0]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0x1dc]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x528]
mov edx, dword [ebp - 0x4c0]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x314]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x45e4f3
mov byte [ebp - 0x529], 0
jmp 0x45e4f8
jmp 0x45e45c
movzx eax, byte [ebp - 0x529]
test eax, eax
jne 0x45e508
jmp 0x45e678
mov dword [ebp - 0x2c], 0
jmp 0x45e51a
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x4f4]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + edx*4]
jg 0x45e57a
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x504]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x334]
mov edx, dword [ecx + eax*4]
cmp edx, dword [ebp - 0x524]
jge 0x45e578
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x524]
mov dword [edx + ecx*4], eax
jmp 0x45e511
mov dword [ebp - 0x2c], 0
jmp 0x45e58c
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x4bc]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + edx*4]
jg 0x45e63b
mov edx, dword [ebp - 0x528]
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x334]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x4a0]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp + ecx*4 - 0x294]
push edx
mov eax, dword [ebp - 0x528]
mov ecx, dword [ebp - 0x4a0]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x528]
mov edx, dword [ebp - 0x4a0]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x45e636
mov byte [ebp - 0x529], 0
jmp 0x45e63b
jmp 0x45e583
mov eax, dword [ebp - 0x528]
cmp eax, dword [ebp - 0x4b8]
jl 0x45e64b
jmp 0x45e678
mov dword [ebp - 0x524], 0
jmp 0x45e666
mov ecx, dword [ebp - 0x524]
add ecx, 1
mov dword [ebp - 0x524], ecx
movzx edx, byte [ebp - 0x529]
test edx, edx
jne 0x45e673
jmp 0x45e678
jmp 0x45e31d
movzx eax, byte [ebp - 0x529]
test eax, eax
je 0x45e753
mov ecx, dword [ebp - 0x528]
cmp ecx, dword [ebp - 0x4b8]
jl 0x45e753
lea edx, [ebp - 0x1cc]
push edx
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x774]
add ecx, 0x30c
call fcn.00483cc7
mov ecx, dword [ebp - 0x1cc]
push ecx
mov edx, dword [ebp - 0x1c8]
push edx
push 0x4c31c4
lea eax, [ebp - 0x1bc]
push eax
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x1bc]
call fcn.0040e440
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x774]
add ecx, 0x360
call fcn.0040e110
mov ecx, eax
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
push ecx
mov ecx, esp
mov dword [ebp - 0x698], esp
lea edx, [ebp - 0x1bc]
push edx
call fcn.0040e320
mov dword [ebp - 0x800], eax
mov ecx, dword [ebp - 0x774]
add ecx, 0x294
call fcn.00471770
mov eax, dword [ebp - 0x318]
add eax, 1
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x318]
cmp ecx, dword [ebp - 0x260]
jl 0x45e753
jmp 0x45e758
jmp 0x45e298
mov edx, dword [ebp - 0x520]
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x69c]
push eax
call fcn.0048207b
add esp, 4
jmp 0x45ef62
mov dword [ebp - 0x534], 0
mov dword [ebp - 0x10], 0
jmp 0x45e794
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0x31c]
jg 0x45ef62
mov eax, dword [ebp - 0x774]
movzx ecx, byte [eax + 0x88]
test ecx, ecx
je 0x45e7b9
jmp 0x45ef62
push 0xfa0
call fcn.00482070
add esp, 4
mov dword [ebp - 0x6a0], eax
mov edx, dword [ebp - 0x6a0]
mov dword [ebp - 0x53c], edx
push 0x7d0
call fcn.00482070
add esp, 4
mov dword [ebp - 0x6a4], eax
mov eax, dword [ebp - 0x6a4]
mov dword [ebp - 0x538], eax
mov ecx, dword [ebp - 0x328]
push ecx
mov edx, dword [ebp - 0x538]
push edx
mov eax, dword [ebp - 0x53c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x774]
add ecx, 0x360
call fcn.0040e110
push ecx
mov ecx, esp
mov dword [ebp - 0x6a8], esp
push eax
call fcn.0040e320
mov dword [ebp - 0x804], eax
call fcn.004089e0
add esp, 0x10
mov byte [ebp - 0x805], al
movzx edx, byte [ebp - 0x805]
test edx, edx
je 0x45eec8
mov eax, dword [ebp - 0x10]
add eax, 1
push eax
mov ecx, dword [ebp - 0x1c8]
push ecx
push str._s_05d
lea edx, [ebp - 0x24]
push edx
call fcn.0040ef80
add esp, 0x10
push 0
lea ecx, [ebp - 0x24]
call fcn.0040e440
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov dword [ebp - 0x534], 0
jmp 0x45e89e
mov eax, dword [ebp - 0x534]
add eax, 1
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x534]
cmp ecx, dword [ebp - 0x508]
jge 0x45eec8
mov dword [ebp - 0x4c8], 0
mov edx, dword [ebp - 0x4dc]
push edx
push 0
mov eax, dword [ebp - 0x334]
push eax
call fcn.004a47d0
add esp, 0xc
mov ecx, dword [ebp - 0x4e8]
push ecx
push 0
mov edx, dword [ebp - 0x514]
push edx
call fcn.004a47d0
add esp, 0xc
mov dword [ebp - 0x1b8], 0
jmp 0x45e905
mov eax, dword [ebp - 0x1b8]
add eax, 1
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0x3e8
jge 0x45ea50
mov dword [ebp - 0x54c], 0
mov dword [ebp - 0x2c], 0
jmp 0x45e931
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x538]
movsx ecx, word [eax + edx*2]
cmp dword [ebp - 0x2c], ecx
jg 0x45e9c0
mov edx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x53c]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x2c]
movsx eax, word [ecx + edx*2]
cmp eax, 1
jl 0x45e9bb
mov ecx, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x53c]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x2c]
movsx edx, word [eax + ecx*2]
cmp edx, dword [ebp - 0x4a4]
jg 0x45e9bb
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x53c]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
movsx ecx, word [edx + eax*2]
mov edx, dword [ebp - 0x534]
mov eax, dword [ebp - 0x330]
mov edx, dword [eax + edx*4]
movzx eax, byte [edx + ecx]
test eax, eax
je 0x45e9bb
mov ecx, dword [ebp - 0x54c]
add ecx, 1
mov dword [ebp - 0x54c], ecx
jmp 0x45e928
mov edx, dword [ebp - 0x54c]
push edx
mov eax, dword [ebp - 0x4b0]
push eax
mov ecx, dword [ebp - 0x4e4]
push ecx
mov edx, dword [ebp - 0x50c]
push edx
call fcn.00403c20
add esp, 0x10
movzx eax, al
test eax, eax
je 0x45ea4b
mov ecx, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x514]
mov dword [edx + ecx*4], 1
push 0
push 0
push 2
push 0
push 0
push 2
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + eax*4]
push edx
lea eax, [ebp - 0x4c8]
push eax
mov ecx, dword [ebp - 0x4ac]
push ecx
call fcn.00401750
add esp, 0x24
push 0x4c31d4
lea edx, [ebp - 0x4c8]
push edx
mov eax, dword [ebp - 0x4ac]
push eax
call fcn.00401700
add esp, 0xc
jmp 0x45e8f6
mov byte [ebp - 0x545], 1
mov dword [ebp - 0x540], 0
mov dword [ebp - 0x544], 0xffffffff
mov dword [ebp - 0x1b0], 0
jmp 0x45ea86
mov ecx, dword [ebp - 0x1b0]
add ecx, 1
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x774]
mov eax, dword [ebp - 0x1b0]
cmp eax, dword [edx + 0x17c]
jg 0x45edd2
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x17c]
sub edx, dword [ebp - 0x1b0]
mov dword [ebp - 0x550], edx
mov eax, dword [ebp - 0x550]
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x514]
cmp dword [eax + edx*4], 0
jg 0x45eae9
mov ecx, dword [ebp - 0x774]
mov edx, dword [ebp - 0x1b0]
cmp edx, dword [ecx + 0x17c]
jne 0x45edb1
mov eax, dword [ebp - 0x544]
add eax, 1
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x2c], 0
jmp 0x45eb0a
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x4fc]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + edx*4]
jg 0x45eb9d
mov edx, dword [ebp - 0x540]
push edx
mov eax, dword [ebp - 0x544]
mov ecx, dword [ebp - 0x338]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp + ecx*4 - 0x30c]
push edx
mov eax, dword [ebp - 0x544]
mov ecx, dword [ebp - 0x338]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0x1f8]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x544]
mov edx, dword [ebp - 0x338]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x45eb98
mov byte [ebp - 0x545], 0
jmp 0x45eb9d
jmp 0x45eb01
movzx eax, byte [ebp - 0x545]
test eax, eax
jne 0x45ebad
jmp 0x45edd2
mov dword [ebp - 0x2c], 0
jmp 0x45ebbf
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x4f8]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + edx*4]
jg 0x45ec52
mov edx, dword [ebp - 0x540]
push edx
mov eax, dword [ebp - 0x544]
mov ecx, dword [ebp - 0x4c0]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp + ecx*4 - 0x214]
push edx
mov eax, dword [ebp - 0x544]
mov ecx, dword [ebp - 0x4c0]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0x1dc]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x544]
mov edx, dword [ebp - 0x4c0]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x314]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x45ec4d
mov byte [ebp - 0x545], 0
jmp 0x45ec52
jmp 0x45ebb6
movzx eax, byte [ebp - 0x545]
test eax, eax
jne 0x45ec62
jmp 0x45edd2
mov dword [ebp - 0x2c], 0
jmp 0x45ec74
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x4f4]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + edx*4]
jg 0x45ecd4
mov edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x504]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x334]
mov edx, dword [ecx + eax*4]
cmp edx, dword [ebp - 0x540]
jge 0x45ecd2
mov eax, dword [ebp - 0x544]
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x540]
mov dword [edx + ecx*4], eax
jmp 0x45ec6b
mov dword [ebp - 0x2c], 0
jmp 0x45ece6
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x4bc]
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [eax + edx*4]
jg 0x45ed95
mov edx, dword [ebp - 0x544]
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [eax + edx*4]
mov edx, dword [ebp - 0x2c]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebp - 0x334]
mov edx, dword [ecx + eax*4]
push edx
mov eax, dword [ebp - 0x544]
mov ecx, dword [ebp - 0x4a0]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp + ecx*4 - 0x294]
push edx
mov eax, dword [ebp - 0x544]
mov ecx, dword [ebp - 0x4a0]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [edx + eax*4]
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx + ecx*4]
push eax
mov ecx, dword [ebp - 0x544]
mov edx, dword [ebp - 0x4a0]
mov eax, dword [edx + ecx*4]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax + edx*4]
push ecx
call fcn.00403c20
add esp, 0x10
movzx edx, al
test edx, edx
jne 0x45ed90
mov byte [ebp - 0x545], 0
jmp 0x45ed95
jmp 0x45ecdd
mov eax, dword [ebp - 0x544]
cmp eax, dword [ebp - 0x4b8]
jl 0x45eda5
jmp 0x45edd2
mov dword [ebp - 0x540], 0
jmp 0x45edc0
mov ecx, dword [ebp - 0x540]
add ecx, 1
mov dword [ebp - 0x540], ecx
movzx edx, byte [ebp - 0x545]
test edx, edx
jne 0x45edcd
jmp 0x45edd2
jmp 0x45ea77
movzx eax, byte [ebp - 0x545]
test eax, eax
je 0x45eec3
mov ecx, dword [ebp - 0x544]
cmp ecx, dword [ebp - 0x4b8]
jl 0x45eec3
mov edx, dword [ebp - 0x534]
add edx, 1
push edx
mov eax, dword [ebp - 0x24]
push eax
push str._s_05d.txt
lea ecx, [ebp - 0x1bc]
push ecx
call fcn.0040ef80
add esp, 0x10
mov edx, dword [ebp - 0x4ac]
add edx, dword [ebp - 0x4c8]
mov byte [edx], 0
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x6ac], esp
mov eax, dword [ebp - 0x4ac]
push eax
call fcn.0040e340
mov dword [ebp - 0x80c], eax
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x810], ecx
mov byte [ebp - 4], 6
push ecx
mov ecx, esp
mov dword [ebp - 0x6b0], esp
lea edx, [ebp - 0x1bc]
push edx
call fcn.0040e320
mov dword [ebp - 0x814], eax
mov byte [ebp - 4], 5
call fcn.00402190
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x6b4], esp
lea eax, [ebp - 0x1bc]
push eax
call fcn.0040e320
mov dword [ebp - 0x818], eax
mov ecx, dword [ebp - 0x774]
add ecx, 0x294
call fcn.00471770
mov ecx, dword [ebp - 0x318]
add ecx, 1
mov dword [ebp - 0x318], ecx
mov edx, dword [ebp - 0x318]
cmp edx, dword [ebp - 0x260]
jl 0x45eec3
jmp 0x45eec8
jmp 0x45e88f
mov dword [ebp - 0x2c], 0
jmp 0x45eeda
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x3e8
jge 0x45ef17
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x538]
movsx eax, word [edx + ecx*2]
test eax, eax
jl 0x45ef15
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x53c]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x6b8], eax
mov ecx, dword [ebp - 0x6b8]
push ecx
call fcn.0048207b
add esp, 4
jmp 0x45eed1
mov edx, dword [ebp - 0x53c]
mov dword [ebp - 0x6bc], edx
mov eax, dword [ebp - 0x6bc]
push eax
call fcn.0048207b
add esp, 4
mov ecx, dword [ebp - 0x538]
mov dword [ebp - 0x6c0], ecx
mov edx, dword [ebp - 0x6c0]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x318]
cmp eax, dword [ebp - 0x260]
jl 0x45ef5d
jmp 0x45ef62
jmp 0x45e78b
mov dword [ebp - 0x2c], 0
jmp 0x45ef74
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x508]
jge 0x45efa2
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x330]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x6c4], edx
mov eax, dword [ebp - 0x6c4]
push eax
call fcn.0048207b
add esp, 4
jmp 0x45ef6b
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x6c8], ecx
mov edx, dword [ebp - 0x6c8]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0x6d0], eax
mov ecx, dword [ebp - 0x6d0]
mov dword [ebp - 0x6cc], ecx
cmp dword [ebp - 0x6cc], 0
je 0x45eff3
push 3
mov ecx, dword [ebp - 0x6cc]
call fcn.0044d9f0
mov dword [ebp - 0x81c], eax
jmp 0x45effd
mov dword [ebp - 0x81c], 0
mov edx, dword [ebp - 0x4ac]
mov dword [ebp - 0x6d4], edx
mov eax, dword [ebp - 0x6d4]
push eax
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x45f02a
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x2c], 0x3e8
jge 0x45f056
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x6d8], ecx
mov edx, dword [ebp - 0x6d8]
push edx
call fcn.0048207b
add esp, 4
jmp 0x45f021
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x6dc], eax
mov ecx, dword [ebp - 0x6dc]
push ecx
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x45f083
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 3
jge 0x45f0ac
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x328]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x6e0], edx
mov eax, dword [ebp - 0x6e0]
push eax
call fcn.0048207b
add esp, 4
jmp 0x45f07a
mov ecx, dword [ebp - 0x328]
mov dword [ebp - 0x6e4], ecx
mov edx, dword [ebp - 0x6e4]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x50c]
mov dword [ebp - 0x6e8], eax
mov ecx, dword [ebp - 0x6e8]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x4e4]
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebp - 0x6ec]
push eax
call fcn.0048207b
add esp, 4
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x6f0], ecx
mov edx, dword [ebp - 0x6f0]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 0x6f4], eax
mov ecx, dword [ebp - 0x6f4]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x6f8], edx
mov eax, dword [ebp - 0x6f8]
push eax
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x45f160
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x298]
jge 0x45f18e
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x338]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x6fc], edx
mov eax, dword [ebp - 0x6fc]
push eax
call fcn.0048207b
add esp, 4
jmp 0x45f157
mov ecx, dword [ebp - 0x338]
mov dword [ebp - 0x700], ecx
mov edx, dword [ebp - 0x700]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x4fc]
mov dword [ebp - 0x704], eax
mov ecx, dword [ebp - 0x704]
push ecx
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x45f1d6
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x298]
jge 0x45f204
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x4c0]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x708], eax
mov ecx, dword [ebp - 0x708]
push ecx
call fcn.0048207b
add esp, 4
jmp 0x45f1cd
mov edx, dword [ebp - 0x4c0]
mov dword [ebp - 0x70c], edx
mov eax, dword [ebp - 0x70c]
push eax
call fcn.0048207b
add esp, 4
mov ecx, dword [ebp - 0x4f8]
mov dword [ebp - 0x710], ecx
mov edx, dword [ebp - 0x710]
push edx
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x45f24c
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x298]
jge 0x45f27a
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x504]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x714], ecx
mov edx, dword [ebp - 0x714]
push edx
call fcn.0048207b
add esp, 4
jmp 0x45f243
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x718]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x4f4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x71c]
push eax
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x45f2c2
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x298]
jge 0x45f2f0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x4a0]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x720], edx
mov eax, dword [ebp - 0x720]
push eax
call fcn.0048207b
add esp, 4
jmp 0x45f2b9
mov ecx, dword [ebp - 0x4a0]
mov dword [ebp - 0x724], ecx
mov edx, dword [ebp - 0x724]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x728]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x334]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x72c]
push eax
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x45f353
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x21c]
jg 0x45f3a2
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x218]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x730], edx
mov eax, dword [ebp - 0x730]
push eax
call fcn.0048207b
add esp, 4
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x1f8]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x734], eax
mov ecx, dword [ebp - 0x734]
push ecx
call fcn.0048207b
add esp, 4
jmp 0x45f34a
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x738], edx
mov eax, dword [ebp - 0x738]
push eax
call fcn.0048207b
add esp, 4
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0x73c], ecx
mov edx, dword [ebp - 0x73c]
push edx
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x45f3ea
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x1d8]
jg 0x45f439
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x314]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x740], ecx
mov edx, dword [ebp - 0x740]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x744], edx
mov eax, dword [ebp - 0x744]
push eax
call fcn.0048207b
add esp, 4
jmp 0x45f3e1
mov ecx, dword [ebp - 0x314]
mov dword [ebp - 0x748], ecx
mov edx, dword [ebp - 0x748]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x74c], eax
mov ecx, dword [ebp - 0x74c]
push ecx
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x45f481
mov edx, dword [ebp - 0x2c]
add edx, 1
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x310]
jg 0x45f4d0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx + ecx*4]
mov dword [ebp - 0x750], eax
mov ecx, dword [ebp - 0x750]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax + edx*4]
mov dword [ebp - 0x754], ecx
mov edx, dword [ebp - 0x754]
push edx
call fcn.0048207b
add esp, 4
jmp 0x45f478
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x758]
push ecx
call fcn.0048207b
add esp, 4
mov edx, dword [ebp - 0x1fc]
mov dword [ebp - 0x75c], edx
mov eax, dword [ebp - 0x75c]
push eax
call fcn.0048207b
add esp, 4
mov dword [ebp - 0x2c], 0
jmp 0x45f518
mov ecx, dword [ebp - 0x2c]
add ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x30]
jge 0x45f543
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ecx + eax*4]
mov dword [ebp - 0x760], edx
mov eax, dword [ebp - 0x760]
push eax
call fcn.0048207b
add esp, 4
jmp 0x45f50f
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x764]
push edx
call fcn.0048207b
add esp, 4
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp - 0x768]
push ecx
call fcn.0048207b
add esp, 4
push 1
mov ecx, dword [ebp - 0x774]
call fcn.00461c20
mov edx, dword [ebp - 0x774]
mov byte [edx + 0x88], 1
mov eax, dword [ebp - 0x774]
cmp dword [eax + 0x84], 0x22b8
je 0x45f5cd
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x84]
push edx
mov ecx, dword [ebp - 0x774]
call fcn.0044ead0
mov eax, dword [ebp - 0x774]
mov dword [eax + 0x84], 0x22b8
push ecx
mov ecx, esp
mov dword [ebp - 0x76c], esp
push 0x4c31e4
call fcn.0040e340
mov dword [ebp - 0x820], eax
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0xa0]
push edx
lea eax, [ebp - 0x770]
push eax
call fcn.00402f50
add esp, 0xc
mov dword [ebp - 0x824], eax
mov ecx, dword [ebp - 0x824]
mov dword [ebp - 0x828], ecx
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x828]
mov eax, dword [edx]
push eax
push 0x4c31ec
lea ecx, [ebp - 0x1cc]
push ecx
call fcn.0040ef80
add esp, 0xc
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x770]
call fcn.0040e3c0
lea ecx, [ebp - 0x1cc]
call fcn.0040e440
push eax
push 0xfa9
mov ecx, dword [ebp - 0x774]
call fcn.0048a72e
push 1
mov ecx, dword [ebp - 0x774]
call fcn.00461c20
mov edx, dword [ebp - 0x774]
movzx eax, byte [edx + 0x94]
test eax, eax
je 0x45f694
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x774]
mov eax, dword [edx + 0x15c]
call eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c8]
call fcn.0040e3c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1bc]
call fcn.0040e3c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x38]
call fcn.0040e3c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.0040e3c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.0040e3c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1cc]
call fcn.0040e3c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret