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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffb78
push ebx
push esi
lea ebx, [ebp - 0x190]
push edi
mov dword [ebp - 0x198], edx
mov dword [ebp - 0x194], eax
mov dword [ebx + 8], 0x6e85ac
mov dword [ebx + 0xc], esp
mov eax, 0x50d923
mov dword [ebx + 4], eax
xor edx, edx
mov word [ebx + 0x10], 0
mov dword [ebx + 0x1c], edx
lea edi, [ebp - 0x13c]
lea esi, [ebp - 0x230]
mov ecx, dword fs:[0]
mov dword [ebx], ecx
mov dword fs:[0], ebx
mov word [ebx + 0x10], 8
xor eax, eax
mov dword [ebp - 4], eax
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x14
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.macros
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e2c56
lea ecx, [ebp - 0xc]
mov dword [ebp - 0x1a0], ecx
mov eax, dword [ebp - 0x194]
mov edx, dword [eax + 0x14]
push edx
lea ecx, [ebp - 0x1a0]
push ecx
push 1
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x194]
mov edx, dword [eax + 0xc]
push edx
mov ecx, dword [edx]
call dword [ecx + 8]
add esp, 0x20
mov eax, dword [ebp - 0x194]
xor edx, edx
mov dword [eax + 0x38], edx
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.macroArgs
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e2f4c
cmp dword [ebp - 4], 1
jne 0x5e2ca1
lea ecx, [ebp - 0xc]
jmp 0x5e2cb3
lea eax, [ebp - 0xc]
mov edx, 1
call fcn.00404828
mov ecx, 0x6a8740
mov dword [ebp - 0x1ac], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1ac]
mov edx, dword [eax]
mov dword [ebp - 0x1a8], edx
mov edx, dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x1a4], edx
mov word [ebx + 0x10], 0x20
mov dword [ebp - 0x18], ecx
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x2c
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x1a8], 0
jne 0x5e2cfa
call fcn.00404be4
cmp dword [ebp - 0x1a4], 0
je 0x5e2d0b
mov edx, dword [ebp - 0x1a4]
jmp 0x5e2d11
mov edx, dword [ebp - 0x1a8]
push edx
lea eax, [ebp - 0x20]
push eax
push 0
push 0x6e7040
push 0
mov ecx, dword [ebp - 0x1a8]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
add esp, 0x18
lea eax, [ebp - 0x20]
call fcn.004051bc
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x194]
call fcn.005e88d0
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.macroArgStackDepth
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e2d89
lea eax, [ebp - 0xc]
call fcn.004051bc
mov edx, dword [ebp - 0x194]
mov dword [edx + 0x38], eax
xor ecx, ecx
mov dword [ebp - 0x1b4], ecx
mov eax, dword [ebp - 0x1b4]
cmp eax, dword [ebp - 0x1b0]
jge 0x5e2f36
xor eax, eax
call fcn.0042375c
mov dword [ebp - 0x1b8], eax
mov word [ebx + 0x10], 0x2c
mov word [ebx + 0x10], 0x38
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], edx
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1c0], ecx
cmp dword [ebp - 0x1bc], 0
je 0x5e2de9
mov eax, dword [ebp - 0x1bc]
push eax
mov edx, dword [eax]
call dword [edx]
pop ecx
cmp dword [ebp - 0x1c0], 0
je 0x5e2dfe
mov ecx, dword [ebp - 0x1c0]
push ecx
mov eax, dword [ecx]
call dword [eax]
pop ecx
mov dword [ebp - 0x24], 1
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0x28], ecx
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x44
mov eax, dword [ebp - 0x1b8]
push eax
mov edx, dword [eax]
call dword [edx + 4]
pop ecx
mov ecx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1c4], ecx
cmp dword [ebp - 0x1a8], 0
jne 0x5e2e47
call fcn.00404be4
cmp dword [ebp - 0x1a4], 0
je 0x5e2e58
mov eax, dword [ebp - 0x1a4]
jmp 0x5e2e5e
mov eax, dword [ebp - 0x1a8]
push eax
lea edx, [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x1c4]
push ecx
push 0
mov eax, dword [ebp - 0x1a8]
push eax
mov edx, dword [eax]
call dword [edx + 0x14]
add esp, 0x14
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x1c8], ecx
mov eax, dword [ebp - 0x1b8]
push eax
lea edx, [ebp - 0x1c8]
push edx
push 1
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x194]
mov eax, dword [ecx + 0xc]
push eax
mov edx, dword [eax]
call dword [edx + 8]
add esp, 0x20
mov ecx, dword [ebp - 0x1b8]
push ecx
mov eax, dword [ecx]
call dword [eax]
pop ecx
mov eax, dword [ebp - 0x194]
add eax, 0x18
mov edx, dword [eax + 8]
cmp edx, dword [eax + 0x18]
je 0x5e2ef4
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1cc], ecx
mov edx, dword [ebp - 0x1cc]
mov dword [ebp - 0x1d0], edx
mov ecx, dword [ebp - 0x1d0]
mov edx, dword [ebp - 0x1b8]
mov dword [ecx], edx
add dword [eax + 8], 4
jmp 0x5e2f08
lea ecx, [ebp - 0x1b8]
push ecx
mov edx, dword [eax + 8]
push edx
push eax
call fcn.0041ea44
add esp, 0xc
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.00405500
mov word [ebx + 0x10], 0x2c
inc dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1b4]
cmp eax, dword [ebp - 0x1b0]
jl 0x5e2da3
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00405500
mov word [ebx + 0x10], 0x14
mov ecx, dword [ebp - 0x194]
add ecx, 0x18
mov dword [ebp - 0x1d4], ecx
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d4]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 4]
test edx, edx
jns 0x5e2f74
add edx, 3
sar edx, 2
mov eax, dword [ebp - 0x194]
cmp edx, dword [eax + 0x38]
je 0x5e2f9c
cmp dword [0x7bfb00], 0
je 0x5e2f92
mov eax, dword [0x7bfb00]
jmp 0x5e2f97
mov eax, dword [0x7bfafc]
call fcn.00668db0
mov edx, dword [ebp - 0x194]
add edx, 0x18
mov dword [ebp - 0x1d8], edx
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1d8]
mov eax, dword [ecx + 8]
sub eax, dword [edx + 4]
test eax, eax
jns 0x5e2fc4
add eax, 3
sar eax, 2
mov ecx, dword [ebp - 0x194]
mov dword [ecx + 0x3c], eax
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.callStack
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e46a7
cmp dword [ebp - 4], 1
jne 0x5e3010
lea ecx, [ebp - 0xc]
jmp 0x5e3022
lea eax, [ebp - 0xc]
mov edx, 1
call fcn.00404828
mov ecx, 0x6a8740
mov dword [ebp - 0x1e4], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x1e4]
mov edx, dword [eax]
mov dword [ebp - 0x1e0], edx
mov edx, dword [eax + 4]
xor eax, eax
mov dword [ebp - 0x1dc], edx
mov word [ebx + 0x10], 0x14
mov word [ebx + 0x10], 0x50
mov dword [ebp - 0x30], ecx
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x5c
mov dword [ebp - 0x1e8], eax
cmp dword [ebp - 0x1e0], 0
jne 0x5e306f
call fcn.00404be4
cmp dword [ebp - 0x1dc], 0
je 0x5e3080
mov edx, dword [ebp - 0x1dc]
jmp 0x5e3086
mov edx, dword [ebp - 0x1e0]
push edx
lea eax, [ebp - 0x38]
push eax
push 0
push 0x6e7040
push 0
mov ecx, dword [ebp - 0x1e0]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
add esp, 0x18
lea eax, [ebp - 0x38]
call fcn.004051bc
mov dword [ebp - 0x1e8], eax
mov edx, dword [ebp - 0x194]
add edx, 0x40
mov dword [ebp - 0x1ec], edx
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x1f0], eax
mov edx, dword [ebp - 0x1ec]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x1f4], ecx
mov eax, dword [ebp - 0x1f4]
push eax
mov edx, dword [ebp - 0x1ec]
mov ecx, dword [edx + 8]
push ecx
mov eax, dword [ebp - 0x1f0]
push eax
call fcn.005e4d20
mov dword [ebp - 0x1f8], eax
add esp, 0xc
mov edx, dword [ebp - 0x1ec]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x1fc], ecx
mov ecx, 0x7c
mov eax, dword [ebp - 0x1f0]
sub eax, dword [ebp - 0x1f4]
cdq
idiv ecx
mov edx, eax
mov ecx, dword [ebp - 0x1ec]
shl eax, 5
sub eax, edx
shl eax, 2
sub dword [ecx + 8], eax
mov eax, dword [ebp - 0x1fc]
push eax
mov edx, dword [ebp - 0x1f8]
push edx
mov ecx, dword [ebp - 0x1ec]
push ecx
call fcn.005e0378
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x200]
cmp edx, dword [ebp - 0x1e8]
jge 0x5e4691
mov word [ebx + 0x10], 0x68
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x3c], ecx
xor edx, edx
inc dword [ebx + 0x1c]
xor ecx, ecx
mov word [ebx + 0x10], 0x74
mov word [ebx + 0x10], 0x80
mov dword [ebp - 0x40], eax
xor eax, eax
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x74
mov word [ebx + 0x10], 0x8c
mov dword [ebp - 0x44], edx
xor edx, edx
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x74
mov word [ebx + 0x10], 0x98
mov dword [ebp - 0x48], ecx
xor ecx, ecx
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x74
mov word [ebx + 0x10], 0xa4
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x220], 1
mov dword [ebp - 0x224], 0x100
mov eax, dword [ebp - 0x220]
cmp eax, dword [ebp - 0x224]
jbe 0x5e3200
lea edx, [ebp - 0x220]
jmp 0x5e3206
lea edx, [ebp - 0x224]
mov eax, dword [edx]
xor ecx, ecx
mov dword [ebp - 0x68], eax
xor eax, eax
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x74
mov word [ebx + 0x10], 0xbc
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x36c], eax
mov edx, dword [ebp - 0x378]
mov dword [ebp - 0x98], edx
mov edx, dword [ebp - 0x374]
mov dword [ebp - 0x94], edx
xor edx, edx
mov ecx, dword [ebp - 0x370]
mov dword [ebp - 0x90], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x380], edx
mov dword [ebp - 0x37c], ecx
mov eax, dword [ebp - 0x388]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x84], eax
xor eax, eax
mov edx, dword [ebp - 0x380]
mov dword [ebp - 0x80], edx
xor edx, edx
mov ecx, dword [ebp - 0x37c]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x70], eax
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x74
mov word [ebx + 0x10], 0xec
mov dword [ebp - 0x9c], edx
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x74
mov ecx, dword [ebp - 0x200]
mov dword [ebp - 0x228], ecx
cmp dword [ebp - 0x1e0], 0
jne 0x5e32d3
call fcn.00404be4
cmp dword [ebp - 0x1dc], 0
je 0x5e32e4
mov eax, dword [ebp - 0x1dc]
jmp 0x5e32ea
mov eax, dword [ebp - 0x1e0]
push eax
lea edx, [ebp - 0x38]
push edx
mov ecx, dword [ebp - 0x228]
push ecx
push 0
mov eax, dword [ebp - 0x1e0]
push eax
mov edx, dword [eax]
call dword [edx + 0x14]
add esp, 0x14
cmp dword [ebp - 0x30], 1
jne 0x5e3312
lea ecx, [ebp - 0x38]
jmp 0x5e3324
lea eax, [ebp - 0x38]
mov edx, 1
call fcn.00404828
mov ecx, 0x6a8740
mov dword [ebp - 0x234], ecx
mov eax, dword [ebp - 0x234]
mov edx, dword [eax]
mov dword [esi], edx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
cmp dword [esi], 0
jne 0x5e3344
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e334f
mov ecx, dword [esi + 4]
jmp 0x5e3351
mov ecx, dword [esi]
push ecx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.storage
push 0
mov edx, dword [esi]
push edx
mov eax, dword [edx]
call dword [eax + 0x10]
mov word [ebx + 0x10], 0xf8
add esp, 0x18
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xac]
call fcn.0040a218
inc dword [ebx + 0x1c]
cmp dword [ebp - 0xac], 0
je 0x5e3398
mov edx, dword [ebp - 0xac]
inc dword [edx]
cmp dword [ebp - 0x3c], 0
je 0x5e33a6
mov eax, dword [ebp - 0x3c]
call fcn.00408920
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x3c], edx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0xac], 0
je 0x5e33c6
mov eax, dword [ebp - 0xac]
call fcn.00408920
mov word [ebx + 0x10], 0x74
cmp dword [esi], 0
jne 0x5e33d6
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e33e1
mov edx, dword [esi + 4]
jmp 0x5e33e3
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.label
push 0
mov ecx, dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov word [ebx + 0x10], 0x110
add esp, 0x18
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xb0]
call fcn.0040a218
inc dword [ebx + 0x1c]
cmp dword [ebp - 0xb0], 0
je 0x5e342a
mov edx, dword [ebp - 0xb0]
inc dword [edx]
cmp dword [ebp - 0x40], 0
je 0x5e3438
mov eax, dword [ebp - 0x40]
call fcn.00408920
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0x40], edx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0xb0], 0
je 0x5e3458
mov eax, dword [ebp - 0xb0]
call fcn.00408920
mov word [ebx + 0x10], 0x74
cmp dword [esi], 0
jne 0x5e3468
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e3473
mov edx, dword [esi + 4]
jmp 0x5e3475
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.offset
push 0
mov ecx, dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
add esp, 0x18
lea eax, [ebp - 0xa4]
call fcn.004051bc
mov dword [ebp - 0x204], eax
cmp dword [esi], 0
jne 0x5e34ac
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e34b7
mov edx, dword [esi + 4]
jmp 0x5e34b9
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.orgLineStr
push 0
mov ecx, dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov word [ebx + 0x10], 0x128
add esp, 0x18
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xb4]
call fcn.0040a218
inc dword [ebx + 0x1c]
cmp dword [ebp - 0xb4], 0
je 0x5e3500
mov edx, dword [ebp - 0xb4]
inc dword [edx]
cmp dword [ebp - 0x44], 0
je 0x5e350e
mov eax, dword [ebp - 0x44]
call fcn.00408920
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x44], edx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0xb4], 0
je 0x5e352e
mov eax, dword [ebp - 0xb4]
call fcn.00408920
mov word [ebx + 0x10], 0x74
cmp dword [esi], 0
jne 0x5e353e
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e3549
mov edx, dword [esi + 4]
jmp 0x5e354b
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.lineBuffer
push 0
mov ecx, dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov word [ebx + 0x10], 0x140
add esp, 0x18
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xb8]
call fcn.0040a218
inc dword [ebx + 0x1c]
cmp dword [ebp - 0xb8], 0
je 0x5e3592
mov edx, dword [ebp - 0xb8]
inc dword [edx]
cmp dword [ebp - 0x48], 0
je 0x5e35a0
mov eax, dword [ebp - 0x48]
call fcn.00408920
mov edx, dword [ebp - 0xb8]
mov dword [ebp - 0x48], edx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0xb8], 0
je 0x5e35c0
mov eax, dword [ebp - 0xb8]
call fcn.00408920
mov word [ebx + 0x10], 0x74
cmp dword [esi], 0
jne 0x5e35d0
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e35db
mov edx, dword [esi + 4]
jmp 0x5e35dd
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push 0x6e6eec
push 0
mov ecx, dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
add esp, 0x18
lea eax, [ebp - 0xa4]
call fcn.004051bc
mov dword [ebp - 0x208], eax
cmp dword [esi], 0
jne 0x5e3614
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e361f
mov edx, dword [esi + 4]
jmp 0x5e3621
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.lineBufferUsing
push 0
mov ecx, dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
add esp, 0x18
lea eax, [ebp - 0xa4]
call fcn.00406888
mov byte [ebp - 0x209], al
cmp dword [esi], 0
jne 0x5e3658
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e3663
mov edx, dword [esi + 4]
jmp 0x5e3665
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.macroArgStackBase
push 0
mov ecx, dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
add esp, 0x18
lea eax, [ebp - 0xa4]
call fcn.004051bc
mov dword [ebp - 0x210], eax
cmp dword [esi], 0
jne 0x5e369c
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e36a7
mov edx, dword [esi + 4]
jmp 0x5e36a9
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.macroArgStackDepth
push 0
mov ecx, dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
add esp, 0x18
lea eax, [ebp - 0xa4]
call fcn.004051bc
mov dword [ebp - 0x214], eax
cmp dword [esi], 0
jne 0x5e36e0
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e36eb
mov edx, dword [esi + 4]
jmp 0x5e36ed
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.ExcludeLevel
push 0
mov ecx, dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
add esp, 0x18
lea eax, [ebp - 0xa4]
call fcn.004051bc
mov dword [ebp - 0x218], eax
cmp dword [esi], 0
jne 0x5e3724
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e372f
mov edx, dword [esi + 4]
jmp 0x5e3731
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.IfLevel
push 0
mov ecx, dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
add esp, 0x18
lea eax, [ebp - 0xa4]
call fcn.004051bc
mov dword [ebp - 0x21c], eax
xor edx, edx
mov word [ebx + 0x10], 0x158
mov dword [ebp - 0xa8], edx
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x74
cmp dword [esi], 0
jne 0x5e377f
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e378a
mov ecx, dword [esi + 4]
jmp 0x5e378c
mov ecx, dword [esi]
push ecx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.ExcludeLevelStack
push 0
mov edx, dword [esi]
push edx
mov eax, dword [edx]
call dword [eax + 0x10]
mov word [ebx + 0x10], 0x164
add esp, 0x18
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xbc]
call fcn.0040a218
inc dword [ebx + 0x1c]
cmp dword [ebp - 0xbc], 0
je 0x5e37d3
mov edx, dword [ebp - 0xbc]
inc dword [edx]
cmp dword [ebp - 0xa8], 0
je 0x5e37e7
mov eax, dword [ebp - 0xa8]
call fcn.00408920
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xa8], edx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0xbc], 0
je 0x5e380a
mov eax, dword [ebp - 0xbc]
call fcn.00408920
mov word [ebx + 0x10], 0x74
lea ecx, [ebp - 0xa8]
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0x194]
call fcn.005e17bc
cmp dword [esi], 0
jne 0x5e382e
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5e3839
mov edx, dword [esi + 4]
jmp 0x5e383b
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push str.IfLevelExecutedStack
push 0
mov ecx, dword [esi]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov word [ebx + 0x10], 0x17c
add esp, 0x18
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0xc0]
call fcn.0040a218
inc dword [ebx + 0x1c]
cmp dword [ebp - 0xc0], 0
je 0x5e3882
mov edx, dword [ebp - 0xc0]
inc dword [edx]
cmp dword [ebp - 0xa8], 0
je 0x5e3896
mov eax, dword [ebp - 0xa8]
call fcn.00408920
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xa8], edx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0xc0], 0
je 0x5e38b9
mov eax, dword [ebp - 0xc0]
call fcn.00408920
mov word [ebx + 0x10], 0x74
lea ecx, [ebp - 0xa8]
lea edx, [ebp - 0x98]
mov eax, dword [ebp - 0x194]
call fcn.005e20c0
mov word [ebx + 0x10], 0x194
mov edx, dword [ebp - 0x204]
mov dword [ebp - 0x23c], edx
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x240], ecx
mov al, byte [ebp - 0x209]
mov byte [ebp - 0x241], al
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x248], edx
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x24c], ecx
mov eax, dword [ebp - 0x218]
mov dword [ebp - 0x250], eax
mov edx, dword [ebp - 0x21c]
mov dword [ebp - 0x254], edx
mov ecx, dword [ebp - 0x3c]
mov dword [edi], ecx
cmp dword [edi], 0
je 0x5e393e
mov eax, dword [edi]
inc dword [eax]
inc dword [ebx + 0x1c]
mov edx, dword [ebp - 0x40]
mov dword [edi + 4], edx
cmp dword [edi + 4], 0
je 0x5e3952
mov ecx, dword [edi + 4]
inc dword [ecx]
inc dword [ebx + 0x1c]
mov eax, dword [ebp - 0x23c]
mov dword [edi + 8], eax
mov edx, dword [ebp - 0x44]
mov dword [edi + 0xc], edx
cmp dword [edi + 0xc], 0
je 0x5e396f
mov ecx, dword [edi + 0xc]
inc dword [ecx]
inc dword [ebx + 0x1c]
mov eax, dword [ebp - 0x48]
mov dword [edi + 0x10], eax
cmp dword [edi + 0x10], 0
je 0x5e3983
mov edx, dword [edi + 0x10]
inc dword [edx]
inc dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x240]
mov dword [edi + 0x14], ecx
mov al, byte [ebp - 0x241]
mov byte [edi + 0x18], al
xor eax, eax
mov edx, dword [ebp - 0x248]
mov dword [edi + 0x1c], edx
xor edx, edx
mov ecx, dword [ebp - 0x24c]
mov dword [edi + 0x20], ecx
mov dword [edi + 0x28], eax
xor ecx, ecx
mov dword [edi + 0x2c], edx
mov dword [edi + 0x3c], ecx
mov word [ebx + 0x10], 0x1d0
mov dword [ebp - 0x258], 1
mov dword [ebp - 0x25c], 0x100
mov eax, dword [ebp - 0x258]
cmp eax, dword [ebp - 0x25c]
jbe 0x5e39e9
lea edx, [ebp - 0x258]
jmp 0x5e39ef
lea edx, [ebp - 0x25c]
mov eax, dword [edx]
mov dword [edi + 0x24], eax
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x64]
test ecx, ecx
jns 0x5e3a01
add ecx, 3
sar ecx, 2
mov dword [ebp - 0x260], ecx
mov eax, dword [ebp - 0x260]
shl eax, 2
push eax
call fcn.00508e38
pop ecx
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0
jne 0x5e3a69
push ebx
push 0
push 0
push 0
push 1
push 0x40815c
push 0
mov edx, 0x6a9328
mov dword [ebp - 0x148], edx
mov ecx, 0x6a933c
inc dword [ebx + 0x1c]
mov dword [ebp - 0x148], ecx
inc dword [ebx + 0x1c]
lea eax, [ebp - 0x148]
push eax
push 0x408104
call fcn.0051cd31
add esp, 0x24
mov edx, dword [ebp - 0x264]
mov dword [edi + 0x28], edx
mov ecx, dword [edi + 0x28]
push ecx
mov eax, dword [ebp - 0x60]
push eax
mov edx, dword [ebp - 0x64]
push edx
call fcn.004793f4
mov dword [edi + 0x2c], eax
xor edx, edx
mov ecx, dword [edi + 0x2c]
add esp, 0xc
mov dword [edi + 0x3c], ecx
xor ecx, ecx
mov eax, dword [edi + 0x3c]
mov dword [ebp - 0x390], eax
xor eax, eax
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x194
mov dword [edi + 0x4c], edx
mov dword [edi + 0x50], ecx
mov dword [edi + 0x5c], eax
xor edx, edx
mov dword [edi + 0x60], edx
xor ecx, ecx
mov dword [edi + 0x6c], ecx
mov word [ebx + 0x10], 0x1e8
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x26c], eax
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x270], edx
mov ecx, dword [ebp - 0x270]
mov dword [ebp - 0x3a0], ecx
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x39c], eax
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x274], edx
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x278], ecx
mov eax, dword [ebp - 0x278]
mov dword [ebp - 0x3b0], eax
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x3ac], edx
mov ecx, dword [ebp - 0x3b0]
sub ecx, dword [ebp - 0x3a0]
test ecx, ecx
jns 0x5e3b2d
add ecx, 3
sar ecx, 2
shl ecx, 5
add ecx, dword [ebp - 0x3ac]
sub ecx, dword [ebp - 0x39c]
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp - 0x268]
add eax, 0x20
dec eax
shr eax, 5
mov dword [ebp - 0x280], eax
mov edx, dword [ebp - 0x280]
shl edx, 2
push edx
call fcn.00508e38
pop ecx
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
jne 0x5e3bb7
push ebx
push 0
push 0
push 0
push 1
push 0x40815c
push 0
mov ecx, 0x6a9328
mov dword [ebp - 0x14c], ecx
mov eax, 0x6a933c
inc dword [ebx + 0x1c]
mov dword [ebp - 0x14c], eax
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x14c]
push edx
push 0x408104
call fcn.0051cd31
add esp, 0x24
mov ecx, dword [ebp - 0x284]
mov dword [ebp - 0x27c], ecx
mov eax, dword [ebp - 0x268]
add eax, 0x20
dec eax
shr eax, 5
shl eax, 2
add eax, dword [ebp - 0x27c]
mov dword [ebp - 0x288], eax
mov edx, dword [ebp - 0x288]
mov dword [edi + 0x6c], edx
mov ecx, dword [edi + 0x6c]
mov dword [ebp - 0x3c0], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x28c], eax
lea eax, [ebp - 0x3d8]
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x3cc], ecx
push esi
push edi
mov esi, eax
add edi, 0x44
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [edi + 0x44]
mov dword [ebp - 0x290], eax
mov edx, dword [ebp - 0x290]
mov ecx, dword [edx]
mov dword [ebp - 0x3e8], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x3e4], ecx
mov eax, dword [ebp - 0x290]
mov edx, dword [eax + 8]
mov dword [ebp - 0x3e0], edx
mov ecx, dword [ebp - 0x290]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x3dc], eax
mov edx, dword [ebp - 0x268]
add edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x294], edx
mov ecx, dword [ebp - 0x294]
test ecx, ecx
jns 0x5e3c84
add ecx, 0x1f
sar ecx, 5
shl ecx, 2
add dword [ebp - 0x3e0], ecx
mov eax, dword [ebp - 0x294]
and eax, 0x8000001f
jns 0x5e3ca2
dec eax
or eax, 0xffffffe0
inc eax
mov dword [ebp - 0x294], eax
cmp dword [ebp - 0x294], 0
jge 0x5e3cc9
mov edx, dword [ebp - 0x294]
add edx, 0x20
mov dword [ebp - 0x3dc], edx
sub dword [ebp - 0x3e0], 4
jmp 0x5e3cd5
mov ecx, dword [ebp - 0x294]
mov dword [ebp - 0x3dc], ecx
mov eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x3e4]
mov dword [ebp - 0x3f4], eax
mov edx, dword [ebp - 0x3e0]
mov dword [ebp - 0x3f0], edx
mov ecx, dword [ebp - 0x3dc]
mov dword [ebp - 0x3ec], ecx
push esi
push edi
lea esi, [ebp - 0x3f8]
add edi, 0x54
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
add esp, 0xfffffff0
lea eax, [edi + 0x44]
mov dword [ebp - 0x2a8], eax
mov edx, dword [ebp - 0x2a8]
mov ecx, dword [edx]
mov dword [esp], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x2a8]
mov edx, dword [eax + 8]
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x2a8]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0xc], eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x2a0], edx
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x2a4], ecx
mov eax, dword [ebp - 0x2a4]
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x2a0]
mov dword [esp + 0xc], edx
add esp, 0xfffffff0
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x298], ecx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x29c], eax
lea eax, [edi + 0x44]
mov edx, dword [ebp - 0x29c]
mov dword [esp + 8], edx
lea edx, [ebp - 0x408]
mov ecx, dword [ebp - 0x298]
mov dword [esp + 0xc], ecx
push eax
push edx
call fcn.005e0b4c
inc dword [ebx + 0x1c]
add esp, 0x38
mov word [ebx + 0x10], 0x194
mov ecx, dword [ebp - 0x250]
mov dword [edi + 0x74], ecx
mov eax, dword [ebp - 0x254]
mov dword [edi + 0x78], eax
inc dword [ebx + 0x1c]
mov dword [ebp - 0x238], edi
mov edx, dword [ebp - 0x194]
add edx, 0x40
mov dword [ebp - 0x2ac], edx
mov ecx, dword [ebp - 0x2ac]
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ecx + 8]
cmp eax, dword [edx + 0x18]
je 0x5e450b
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x2b0], eax
mov edx, dword [ebp - 0x2b0]
mov dword [ebp - 0x150], edx
test edx, edx
je 0x5e44ff
mov word [ebx + 0x10], pe_nt_image_headers32
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x150]
mov dword [eax], ecx
mov edx, dword [ebp - 0x150]
cmp dword [edx], 0
je 0x5e3e55
mov ecx, dword [ebp - 0x150]
mov eax, dword [ecx]
inc dword [eax]
inc dword [ebx + 0x1c]
mov edx, dword [ebp - 0x150]
add edx, 4
mov dword [ebp - 0x2b4], edx
mov ecx, dword [ebp - 0x238]
add ecx, 4
mov dword [ebp - 0x2b8], ecx
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2b4]
cmp dword [eax], 0
je 0x5e3e9b
mov edx, dword [ebp - 0x2b4]
mov ecx, dword [edx]
inc dword [ecx]
inc dword [ebx + 0x1c]
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x150]
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x150]
add eax, 0xc
mov dword [ebp - 0x2bc], eax
mov edx, dword [ebp - 0x238]
add edx, 0xc
mov dword [ebp - 0x2c0], edx
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2bc]
mov eax, dword [ecx]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2bc]
cmp dword [ecx], 0
je 0x5e3ef3
mov eax, dword [ebp - 0x2bc]
mov edx, dword [eax]
inc dword [edx]
inc dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x150]
add ecx, 0x10
mov dword [ebp - 0x2c4], ecx
mov eax, dword [ebp - 0x238]
add eax, 0x10
mov dword [ebp - 0x2c8], eax
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [edx]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2c4]
cmp dword [edx], 0
je 0x5e3f39
mov ecx, dword [ebp - 0x2c4]
mov eax, dword [ecx]
inc dword [eax]
inc dword [ebx + 0x1c]
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x150]
mov ecx, dword [edx + 0x14]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x150]
mov cl, byte [edx + 0x18]
mov byte [eax + 0x18], cl
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x150]
mov ecx, dword [edx + 0x1c]
mov dword [eax + 0x1c], ecx
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x150]
mov ecx, dword [edx + 0x20]
mov dword [eax + 0x20], ecx
mov edx, dword [ebp - 0x238]
add edx, 0x24
mov dword [ebp - 0x2cc], edx
xor edx, edx
mov ecx, dword [ebp - 0x150]
add ecx, 0x24
mov dword [ebp - 0x2d0], ecx
mov eax, dword [ebp - 0x2d0]
mov dword [eax + 4], edx
xor eax, eax
mov ecx, dword [ebp - 0x2d0]
mov dword [ecx + 8], eax
xor eax, eax
mov edx, dword [ebp - 0x2d0]
add edx, 0x10
mov dword [ebp - 0x2d4], edx
mov ecx, dword [ebp - 0x2d4]
mov dword [ecx + 8], eax
mov dword [ebp - 0x2d8], 1
mov dword [ebp - 0x2dc], 0x100
mov edx, dword [ebp - 0x2d8]
cmp edx, dword [ebp - 0x2dc]
jbe 0x5e3ffc
lea ecx, [ebp - 0x2d8]
jmp 0x5e4002
lea ecx, [ebp - 0x2dc]
mov edx, dword [ebp - 0x2d0]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [eax + 8]
sub edx, dword [ecx + 4]
test edx, edx
jns 0x5e4025
add edx, 3
sar edx, 2
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x2e0]
shl eax, 2
push eax
call fcn.00508e38
pop ecx
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0x2e4], 0
jne 0x5e408d
push ebx
push 0
push 0
push 0
push 1
push 0x40815c
push 0
mov edx, 0x6a9328
mov dword [ebp - 0x140], edx
mov ecx, 0x6a933c
inc dword [ebx + 0x1c]
mov dword [ebp - 0x140], ecx
inc dword [ebx + 0x1c]
lea eax, [ebp - 0x140]
push eax
push 0x408104
call fcn.0051cd31
add esp, 0x24
mov edx, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x2d0]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x2d0]
mov edx, dword [eax + 4]
push edx
mov ecx, dword [ebp - 0x2cc]
mov eax, dword [ecx + 8]
push eax
mov edx, dword [ebp - 0x2cc]
mov ecx, dword [edx + 4]
push ecx
call fcn.004793f4
mov edx, dword [ebp - 0x2d0]
add esp, 0xc
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x2d0]
add eax, 8
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp - 0x2d0]
add ecx, 0x10
mov dword [ebp - 0x2ec], ecx
mov eax, dword [ebp - 0x2e8]
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [eax]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0x2ec]
mov edx, dword [eax + 8]
mov dword [ebp - 0x410], edx
inc dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x238]
add ecx, 0x44
mov dword [ebp - 0x2f0], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x150]
add eax, 0x44
mov dword [ebp - 0x2f4], eax
mov edx, dword [ebp - 0x2f4]
mov dword [edx + 8], ecx
xor edx, edx
mov eax, dword [ebp - 0x2f4]
mov dword [eax + 0xc], edx
xor edx, edx
mov ecx, dword [ebp - 0x2f4]
add ecx, 0x10
mov dword [ebp - 0x2f8], ecx
mov eax, dword [ebp - 0x2f8]
mov dword [eax + 8], edx
xor eax, eax
mov ecx, dword [ebp - 0x2f8]
mov dword [ecx + 0xc], eax
xor eax, eax
mov edx, dword [ebp - 0x2f4]
add edx, 0x20
mov dword [ebp - 0x2fc], edx
mov ecx, dword [ebp - 0x2fc]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x304], ecx
mov eax, dword [ebp - 0x2f0]
mov edx, dword [eax + 8]
mov dword [ebp - 0x308], edx
mov ecx, dword [ebp - 0x308]
mov dword [ebp - 0x420], ecx
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x41c], eax
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [edx + 0x1c]
mov dword [ebp - 0x30c], ecx
mov eax, dword [ebp - 0x2f0]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x310], edx
mov ecx, dword [ebp - 0x310]
mov dword [ebp - 0x430], ecx
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x42c], eax
mov edx, dword [ebp - 0x430]
sub edx, dword [ebp - 0x420]
test edx, edx
jns 0x5e41fe
add edx, 3
sar edx, 2
shl edx, 5
add edx, dword [ebp - 0x42c]
sub edx, dword [ebp - 0x41c]
mov dword [ebp - 0x300], edx
mov ecx, dword [ebp - 0x300]
add ecx, 0x20
dec ecx
shr ecx, 5
mov dword [ebp - 0x318], ecx
mov eax, dword [ebp - 0x318]
shl eax, 2
push eax
call fcn.00508e38
pop ecx
mov dword [ebp - 0x31c], eax
cmp dword [ebp - 0x31c], 0
jne 0x5e4288
push ebx
push 0
push 0
push 0
push 1
push 0x40815c
push 0
mov edx, 0x6a9328
mov dword [ebp - 0x144], edx
mov ecx, 0x6a933c
inc dword [ebx + 0x1c]
mov dword [ebp - 0x144], ecx
inc dword [ebx + 0x1c]
lea eax, [ebp - 0x144]
push eax
push 0x408104
call fcn.0051cd31
add esp, 0x24
mov edx, dword [ebp - 0x31c]
mov dword [ebp - 0x314], edx
mov ecx, dword [ebp - 0x300]
add ecx, 0x20
dec ecx
shr ecx, 5
shl ecx, 2
add ecx, dword [ebp - 0x314]
mov dword [ebp - 0x320], ecx
mov eax, dword [ebp - 0x2f4]
add eax, 0x20
mov dword [ebp - 0x324], eax
mov edx, dword [ebp - 0x324]
mov ecx, dword [ebp - 0x320]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0x324]
mov edx, dword [eax + 8]
mov dword [ebp - 0x440], edx
xor edx, edx
mov ecx, dword [ebp - 0x314]
mov dword [ebp - 0x328], ecx
lea ecx, [ebp - 0x458]
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x450], eax
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x2f4]
push esi
push edi
mov esi, ecx
mov edi, eax
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x32c], eax
mov edx, dword [ebp - 0x32c]
mov ecx, dword [edx]
mov dword [ebp - 0x468], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x464], ecx
mov eax, dword [ebp - 0x32c]
mov edx, dword [eax + 8]
mov dword [ebp - 0x460], edx
mov ecx, dword [ebp - 0x32c]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x45c], eax
mov edx, dword [ebp - 0x300]
add edx, dword [ebp - 0x45c]
mov dword [ebp - 0x330], edx
mov ecx, dword [ebp - 0x330]
test ecx, ecx
jns 0x5e4378
add ecx, 0x1f
sar ecx, 5
shl ecx, 2
add dword [ebp - 0x460], ecx
mov eax, dword [ebp - 0x330]
and eax, 0x8000001f
jns 0x5e4396
dec eax
or eax, 0xffffffe0
inc eax
mov dword [ebp - 0x330], eax
cmp dword [ebp - 0x330], 0
jge 0x5e43bd
mov edx, dword [ebp - 0x330]
add edx, 0x20
mov dword [ebp - 0x45c], edx
sub dword [ebp - 0x460], 4
jmp 0x5e43c9
mov ecx, dword [ebp - 0x330]
mov dword [ebp - 0x45c], ecx
mov eax, dword [ebp - 0x468]
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0x464]
mov dword [ebp - 0x474], eax
mov edx, dword [ebp - 0x460]
mov dword [ebp - 0x470], edx
mov ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x46c], ecx
mov eax, dword [ebp - 0x2f4]
push esi
push edi
lea esi, [ebp - 0x478]
lea edi, [eax + 0x10]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
add esp, 0xfffffff0
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x344], eax
mov edx, dword [ebp - 0x344]
mov ecx, dword [edx]
mov dword [esp], ecx
mov ecx, dword [edx + 4]
mov dword [esp + 4], ecx
mov eax, dword [ebp - 0x344]
mov edx, dword [eax + 8]
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x344]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0xc], eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [edx + 0x1c]
mov dword [ebp - 0x33c], ecx
mov eax, dword [ebp - 0x2f0]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x340], edx
mov ecx, dword [ebp - 0x340]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x33c]
mov dword [esp + 0xc], eax
add esp, 0xfffffff0
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x334], ecx
mov eax, dword [ebp - 0x2f0]
mov edx, dword [eax + 8]
mov dword [ebp - 0x338], edx
mov ecx, dword [ebp - 0x338]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x334]
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x2f4]
push edx
lea ecx, [ebp - 0x488]
push ecx
call fcn.005e0b4c
inc dword [ebx + 0x1c]
add esp, 0x38
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x150]
mov edx, dword [eax + 0x74]
mov dword [ecx + 0x74], edx
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x150]
mov edx, dword [eax + 0x78]
mov dword [ecx + 0x78], edx
add dword [ebx + 0x1c], 0xfffffffa
mov word [ebx + 0x10], 0x194
mov eax, dword [ebp - 0x2ac]
add dword [eax + 8], 0x7c
jmp 0x5e452b
mov edx, dword [ebp - 0x238]
push edx
mov ecx, dword [ebp - 0x2ac]
mov eax, dword [ecx + 8]
push eax
mov edx, dword [ebp - 0x2ac]
push edx
call fcn.005e53c4
add esp, 0xc
dec dword [ebx + 0x1c]
dec dword [ebx + 0x1c]
mov ecx, dword [edi + 0x4c]
mov dword [ebp - 0x348], ecx
mov eax, dword [ebp - 0x348]
push eax
call fcn.00508e04
pop ecx
mov word [ebx + 0x10], 0x74
dec dword [ebx + 0x1c]
mov edx, dword [edi + 0x2c]
push edx
mov ecx, dword [edi + 0x28]
push ecx
lea eax, [edi + 0x24]
push eax
call fcn.00429b1c
add esp, 0xc
mov edx, dword [edi + 0x28]
mov dword [ebp - 0x34c], edx
mov ecx, dword [ebp - 0x34c]
push ecx
call fcn.00508e04
pop ecx
dec dword [ebx + 0x1c]
cmp dword [edi + 0x10], 0
je 0x5e458b
mov eax, dword [edi + 0x10]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [edi + 0xc], 0
je 0x5e459c
mov eax, dword [edi + 0xc]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [edi + 4], 0
je 0x5e45ad
mov eax, dword [edi + 4]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [edi], 0
je 0x5e45bc
mov eax, dword [edi]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [ebp - 0xa8], 0
je 0x5e45d3
mov eax, dword [ebp - 0xa8]
call fcn.00408920
dec dword [ebx + 0x1c]
lea eax, [ebp - 0xa4]
mov edx, 2
call fcn.00405500
dec dword [ebx + 0x1c]
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x350], ecx
mov eax, dword [ebp - 0x350]
push eax
call fcn.00508e04
pop ecx
dec dword [ebx + 0x1c]
mov edx, dword [ebp - 0x60]
push edx
mov ecx, dword [ebp - 0x64]
push ecx
lea eax, [ebp - 0x68]
push eax
call fcn.00429b1c
add esp, 0xc
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x354], edx
mov ecx, dword [ebp - 0x354]
push ecx
call fcn.00508e04
pop ecx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x48], 0
je 0x5e4640
mov eax, dword [ebp - 0x48]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x44], 0
je 0x5e4651
mov eax, dword [ebp - 0x44]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x40], 0
je 0x5e4662
mov eax, dword [ebp - 0x40]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x3c], 0
je 0x5e4673
mov eax, dword [ebp - 0x3c]
call fcn.00408920
mov word [ebx + 0x10], 0x5c
inc dword [ebp - 0x200]
mov edx, dword [ebp - 0x200]
cmp edx, dword [ebp - 0x1e8]
jl 0x5e3171
dec dword [ebx + 0x1c]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.00405500
mov word [ebx + 0x10], 0x14
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.storageName
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e4752
mov ecx, dword [ebp - 0x194]
lea edx, [ebp - 0xc]
add ecx, 0x6c
lea eax, [ebp - 0x154]
mov dword [ebp - 0x358], ecx
mov word [ebx + 0x10], 0x2c0
call fcn.0040a218
inc dword [ebx + 0x1c]
cmp dword [ebp - 0x154], 0
je 0x5e470f
mov ecx, dword [ebp - 0x154]
inc dword [ecx]
mov eax, dword [ebp - 0x358]
cmp dword [eax], 0
je 0x5e4727
mov edx, dword [ebp - 0x358]
mov eax, dword [edx]
call fcn.00408920
mov edx, dword [ebp - 0x358]
mov ecx, dword [ebp - 0x154]
mov dword [edx], ecx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x154], 0
je 0x5e474c
mov eax, dword [ebp - 0x154]
call fcn.00408920
mov word [ebx + 0x10], 0x14
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.storageShortName
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e47fd
mov ecx, dword [ebp - 0x194]
lea edx, [ebp - 0xc]
add ecx, 0x70
lea eax, [ebp - 0x158]
mov dword [ebp - 0x35c], ecx
mov word [ebx + 0x10], 0x2d8
call fcn.0040a218
inc dword [ebx + 0x1c]
cmp dword [ebp - 0x158], 0
je 0x5e47ba
mov ecx, dword [ebp - 0x158]
inc dword [ecx]
mov eax, dword [ebp - 0x35c]
cmp dword [eax], 0
je 0x5e47d2
mov edx, dword [ebp - 0x35c]
mov eax, dword [edx]
call fcn.00408920
mov edx, dword [ebp - 0x35c]
mov ecx, dword [ebp - 0x158]
mov dword [edx], ecx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x158], 0
je 0x5e47f7
mov eax, dword [ebp - 0x158]
call fcn.00408920
mov word [ebx + 0x10], 0x14
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.curLabel
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e48ab
mov ecx, dword [ebp - 0x194]
lea edx, [ebp - 0xc]
add ecx, 0x88
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x360], ecx
mov word [ebx + 0x10], 0x2f0
call fcn.0040a218
inc dword [ebx + 0x1c]
cmp dword [ebp - 0x15c], 0
je 0x5e4868
mov ecx, dword [ebp - 0x15c]
inc dword [ecx]
mov eax, dword [ebp - 0x360]
cmp dword [eax], 0
je 0x5e4880
mov edx, dword [ebp - 0x360]
mov eax, dword [edx]
call fcn.00408920
mov edx, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x15c]
mov dword [edx], ecx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x15c], 0
je 0x5e48a5
mov eax, dword [ebp - 0x15c]
call fcn.00408920
mov word [ebx + 0x10], 0x14
mov word [ebx + 0x10], 0x314
mov edx, dword [ebp - 0x194]
add edx, 0x6c
mov dword [ebp - 0x364], edx
mov ecx, dword [ebp - 0x364]
mov eax, dword [ecx]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x5e48d6
mov edx, dword [ebp - 0x10]
inc dword [edx]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x308
mov word [ebx + 0x10], 0x320
mov ecx, dword [ebp - 0x194]
add ecx, 0x88
mov dword [ebp - 0x368], ecx
mov eax, dword [ebp - 0x368]
mov edx, dword [eax]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0
je 0x5e490d
mov ecx, dword [ebp - 0x14]
inc dword [ecx]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x308
mov eax, dword [ebp - 0x194]
call fcn.005e7a3c
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x194]
call fcn.005e7590
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x194]
call fcn.005e7c04
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.ExcludeLevel
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e4982
lea eax, [ebp - 0xc]
call fcn.004051bc
mov edx, dword [ebp - 0x194]
mov dword [edx + 0xac], eax
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.IfLevel
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e49c7
lea eax, [ebp - 0xc]
call fcn.004051bc
mov edx, dword [ebp - 0x194]
mov dword [edx + 0xb0], eax
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.ExcludeLevelStack
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e4ab2
mov word [ebx + 0x10], 0x32c
xor ecx, ecx
lea edx, [ebp - 0xc]
mov dword [ebp - 0x160], ecx
lea eax, [ebp - 0x164]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x338
mov word [ebx + 0x10], 0x344
call fcn.0040a218
inc dword [ebx + 0x1c]
cmp dword [ebp - 0x164], 0
je 0x5e4a3b
mov ecx, dword [ebp - 0x164]
inc dword [ecx]
cmp dword [ebp - 0x160], 0
je 0x5e4a4f
mov eax, dword [ebp - 0x160]
call fcn.00408920
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x160], edx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x164], 0
je 0x5e4a72
mov eax, dword [ebp - 0x164]
call fcn.00408920
mov word [ebx + 0x10], 0x338
lea ecx, [ebp - 0x160]
mov edx, dword [ebp - 0x194]
add edx, 0xb4
mov eax, dword [ebp - 0x194]
call fcn.005e17bc
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x160], 0
je 0x5e4aac
mov eax, dword [ebp - 0x160]
call fcn.00408920
mov word [ebx + 0x10], 0x308
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.IfLevelExecutedStack
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e4b9d
mov word [ebx + 0x10], 0x368
xor ecx, ecx
lea edx, [ebp - 0xc]
mov dword [ebp - 0x168], ecx
lea eax, [ebp - 0x16c]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x374
mov word [ebx + 0x10], 0x380
call fcn.0040a218
inc dword [ebx + 0x1c]
cmp dword [ebp - 0x16c], 0
je 0x5e4b26
mov ecx, dword [ebp - 0x16c]
inc dword [ecx]
cmp dword [ebp - 0x168], 0
je 0x5e4b3a
mov eax, dword [ebp - 0x168]
call fcn.00408920
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0x168], edx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x16c], 0
je 0x5e4b5d
mov eax, dword [ebp - 0x16c]
call fcn.00408920
mov word [ebx + 0x10], 0x374
lea ecx, [ebp - 0x168]
mov edx, dword [ebp - 0x194]
add edx, 0xd4
mov eax, dword [ebp - 0x194]
call fcn.005e20c0
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x168], 0
je 0x5e4b97
mov eax, dword [ebp - 0x168]
call fcn.00408920
mov word [ebx + 0x10], 0x308
lea eax, [ebp - 0xc]
call fcn.00405528
mov edx, dword [ebp - 0x198]
push edx
lea ecx, [ebp - 0xc]
push ecx
push 0
push str.macroArgStackBase
push 0
mov eax, dword [ebp - 0x198]
push eax
mov edx, dword [eax]
call dword [edx + 0x10]
add esp, 0x18
cmp dword [ebp - 4], 0
je 0x5e4bdf
lea eax, [ebp - 0xc]
call fcn.004051bc
mov edx, dword [ebp - 0x194]
mov dword [edx + 0x3c], eax
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x14], 0
je 0x5e4bf0
mov eax, dword [ebp - 0x14]
call fcn.00408920
mov word [ebx + 0x10], 0x308
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x10], 0
je 0x5e4c07
mov eax, dword [ebp - 0x10]
call fcn.00408920
mov word [ebx + 0x10], 0x14
dec dword [ebx + 0x1c]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00405500
mov ecx, dword [ebx]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret