Function at 0x5cc488
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], 0x6e8068
mov dword [ebx + 0xc], esp
mov eax, 0x56498f
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 0x5cc55a
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 0x5cc850
cmp dword [ebp - 4], 1
jne 0x5cc5a5
lea ecx, [ebp - 0xc]
jmp 0x5cc5b7
lea eax, [ebp - 0xc]
mov edx, 1
call fcn.00404828
mov ecx, 0x6a8780
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 0x5cc5fe
call fcn.00404be4
cmp dword [ebp - 0x1a4], 0
je 0x5cc60f
mov edx, dword [ebp - 0x1a4]
jmp 0x5cc615
mov edx, dword [ebp - 0x1a8]
push edx
lea eax, [ebp - 0x20]
push eax
push 0
push 0x6e6ae2
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.005d21d4
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 0x5cc68d
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 0x5cc83a
xor eax, eax
call fcn.00420660
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 0x5cc6ed
mov eax, dword [ebp - 0x1bc]
push eax
mov edx, dword [eax]
call dword [edx]
pop ecx
cmp dword [ebp - 0x1c0], 0
je 0x5cc702
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 0x5cc74b
call fcn.00404be4
cmp dword [ebp - 0x1a4], 0
je 0x5cc75c
mov eax, dword [ebp - 0x1a4]
jmp 0x5cc762
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 0x5cc7f8
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 0x5cc80c
lea ecx, [ebp - 0x1b8]
push ecx
mov edx, dword [eax + 8]
push edx
push eax
call fcn.0041b9cc
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 0x5cc6a7
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 0x5cc878
add edx, 3
sar edx, 2
mov eax, dword [ebp - 0x194]
cmp edx, dword [eax + 0x38]
je 0x5cc8a0
cmp dword [0x7c01f0], 0
je 0x5cc896
mov eax, dword [0x7c01f0]
jmp 0x5cc89b
mov eax, dword [0x7c01ec]
call fcn.0066883c
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 0x5cc8c8
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 0x5cdfab
cmp dword [ebp - 4], 1
jne 0x5cc914
lea ecx, [ebp - 0xc]
jmp 0x5cc926
lea eax, [ebp - 0xc]
mov edx, 1
call fcn.00404828
mov ecx, 0x6a8780
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 0x5cc973
call fcn.00404be4
cmp dword [ebp - 0x1dc], 0
je 0x5cc984
mov edx, dword [ebp - 0x1dc]
jmp 0x5cc98a
mov edx, dword [ebp - 0x1e0]
push edx
lea eax, [ebp - 0x38]
push eax
push 0
push 0x6e6ae2
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.005ce624
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.005c9c7c
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x200], eax
mov edx, dword [ebp - 0x200]
cmp edx, dword [ebp - 0x1e8]
jge 0x5cdf95
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], 0x100
mov dword [ebp - 0x224], 1
mov eax, dword [ebp - 0x224]
cmp eax, dword [ebp - 0x220]
jbe 0x5ccb04
lea edx, [ebp - 0x224]
jmp 0x5ccb0a
lea edx, [ebp - 0x220]
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 0x5ccbd7
call fcn.00404be4
cmp dword [ebp - 0x1dc], 0
je 0x5ccbe8
mov eax, dword [ebp - 0x1dc]
jmp 0x5ccbee
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 0x5ccc16
lea ecx, [ebp - 0x38]
jmp 0x5ccc28
lea eax, [ebp - 0x38]
mov edx, 1
call fcn.00404828
mov ecx, 0x6a8780
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 0x5ccc48
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5ccc53
mov ecx, dword [esi + 4]
jmp 0x5ccc55
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 0x5ccc9c
mov edx, dword [ebp - 0xac]
inc dword [edx]
cmp dword [ebp - 0x3c], 0
je 0x5cccaa
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 0x5cccca
mov eax, dword [ebp - 0xac]
call fcn.00408920
mov word [ebx + 0x10], 0x74
cmp dword [esi], 0
jne 0x5cccda
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5ccce5
mov edx, dword [esi + 4]
jmp 0x5ccce7
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 0x5ccd2e
mov edx, dword [ebp - 0xb0]
inc dword [edx]
cmp dword [ebp - 0x40], 0
je 0x5ccd3c
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 0x5ccd5c
mov eax, dword [ebp - 0xb0]
call fcn.00408920
mov word [ebx + 0x10], 0x74
cmp dword [esi], 0
jne 0x5ccd6c
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5ccd77
mov edx, dword [esi + 4]
jmp 0x5ccd79
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 0x5ccdb0
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5ccdbb
mov edx, dword [esi + 4]
jmp 0x5ccdbd
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 0x5cce04
mov edx, dword [ebp - 0xb4]
inc dword [edx]
cmp dword [ebp - 0x44], 0
je 0x5cce12
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 0x5cce32
mov eax, dword [ebp - 0xb4]
call fcn.00408920
mov word [ebx + 0x10], 0x74
cmp dword [esi], 0
jne 0x5cce42
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5cce4d
mov edx, dword [esi + 4]
jmp 0x5cce4f
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 0x5cce96
mov edx, dword [ebp - 0xb8]
inc dword [edx]
cmp dword [ebp - 0x48], 0
je 0x5ccea4
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 0x5ccec4
mov eax, dword [ebp - 0xb8]
call fcn.00408920
mov word [ebx + 0x10], 0x74
cmp dword [esi], 0
jne 0x5cced4
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5ccedf
mov edx, dword [esi + 4]
jmp 0x5ccee1
mov edx, dword [esi]
push edx
lea eax, [ebp - 0xa4]
push eax
push 0
push 0x6e698e
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 0x5ccf18
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5ccf23
mov edx, dword [esi + 4]
jmp 0x5ccf25
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 0x5ccf5c
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5ccf67
mov edx, dword [esi + 4]
jmp 0x5ccf69
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 0x5ccfa0
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5ccfab
mov edx, dword [esi + 4]
jmp 0x5ccfad
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 0x5ccfe4
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5ccfef
mov edx, dword [esi + 4]
jmp 0x5ccff1
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 0x5cd028
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5cd033
mov edx, dword [esi + 4]
jmp 0x5cd035
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 0x5cd083
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5cd08e
mov ecx, dword [esi + 4]
jmp 0x5cd090
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 0x5cd0d7
mov edx, dword [ebp - 0xbc]
inc dword [edx]
cmp dword [ebp - 0xa8], 0
je 0x5cd0eb
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 0x5cd10e
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.005cb0c0
cmp dword [esi], 0
jne 0x5cd132
call fcn.00404be4
cmp dword [esi + 4], 0
je 0x5cd13d
mov edx, dword [esi + 4]
jmp 0x5cd13f
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 0x5cd186
mov edx, dword [ebp - 0xc0]
inc dword [edx]
cmp dword [ebp - 0xa8], 0
je 0x5cd19a
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 0x5cd1bd
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.005cb9c4
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 0x5cd242
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 0x5cd256
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 0x5cd273
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 0x5cd287
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], 0x100
mov dword [ebp - 0x25c], 1
mov eax, dword [ebp - 0x25c]
cmp eax, dword [ebp - 0x258]
jbe 0x5cd2ed
lea edx, [ebp - 0x25c]
jmp 0x5cd2f3
lea edx, [ebp - 0x258]
mov eax, dword [edx]
mov dword [edi + 0x24], eax
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x64]
test ecx, ecx
jns 0x5cd305
add ecx, 3
sar ecx, 2
mov dword [ebp - 0x260], ecx
mov eax, dword [ebp - 0x260]
shl eax, 2
push eax
call fcn.0055ffd8
pop ecx
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0
jne 0x5cd36d
push ebx
push 0
push 0
push 0
push 1
push 0x40815c
push 0
mov edx, 0x6a9368
mov dword [ebp - 0x148], edx
mov ecx, 0x6a937c
inc dword [ebx + 0x1c]
mov dword [ebp - 0x148], ecx
inc dword [ebx + 0x1c]
lea eax, [ebp - 0x148]
push eax
push 0x408104
call fcn.00573d9d
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.00463bf4
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 0x5cd431
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.0055ffd8
pop ecx
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
jne 0x5cd4bb
push ebx
push 0
push 0
push 0
push 1
push 0x40815c
push 0
mov ecx, 0x6a9368
mov dword [ebp - 0x14c], ecx
mov eax, 0x6a937c
inc dword [ebx + 0x1c]
mov dword [ebp - 0x14c], eax
inc dword [ebx + 0x1c]
lea edx, [ebp - 0x14c]
push edx
push 0x408104
call fcn.00573d9d
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 0x5cd588
add ecx, 0x1f
sar ecx, 5
shl ecx, 2
add dword [ebp - 0x3e0], ecx
mov eax, dword [ebp - 0x294]
and eax, 0x8000001f
jns 0x5cd5a6
dec eax
or eax, 0xffffffe0
inc eax
mov dword [ebp - 0x294], eax
cmp dword [ebp - 0x294], 0
jge 0x5cd5cd
mov edx, dword [ebp - 0x294]
add edx, 0x20
mov dword [ebp - 0x3dc], edx
sub dword [ebp - 0x3e0], 4
jmp 0x5cd5d9
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.005ca450
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 0x5cde0f
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 0x5cde03
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 0x5cd759
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 0x5cd79f
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 0x5cd7f7
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 0x5cd83d
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], 0x100
mov dword [ebp - 0x2dc], 1
mov edx, dword [ebp - 0x2dc]
cmp edx, dword [ebp - 0x2d8]
jbe 0x5cd900
lea ecx, [ebp - 0x2dc]
jmp 0x5cd906
lea ecx, [ebp - 0x2d8]
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 0x5cd929
add edx, 3
sar edx, 2
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x2e0]
shl eax, 2
push eax
call fcn.0055ffd8
pop ecx
mov dword [ebp - 0x2e4], eax
cmp dword [ebp - 0x2e4], 0
jne 0x5cd991
push ebx
push 0
push 0
push 0
push 1
push 0x40815c
push 0
mov edx, 0x6a9368
mov dword [ebp - 0x140], edx
mov ecx, 0x6a937c
inc dword [ebx + 0x1c]
mov dword [ebp - 0x140], ecx
inc dword [ebx + 0x1c]
lea eax, [ebp - 0x140]
push eax
push 0x408104
call fcn.00573d9d
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.00463bf4
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 0x5cdb02
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.0055ffd8
pop ecx
mov dword [ebp - 0x31c], eax
cmp dword [ebp - 0x31c], 0
jne 0x5cdb8c
push ebx
push 0
push 0
push 0
push 1
push 0x40815c
push 0
mov edx, 0x6a9368
mov dword [ebp - 0x144], edx
mov ecx, 0x6a937c
inc dword [ebx + 0x1c]
mov dword [ebp - 0x144], ecx
inc dword [ebx + 0x1c]
lea eax, [ebp - 0x144]
push eax
push 0x408104
call fcn.00573d9d
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 0x5cdc7c
add ecx, 0x1f
sar ecx, 5
shl ecx, 2
add dword [ebp - 0x460], ecx
mov eax, dword [ebp - 0x330]
and eax, 0x8000001f
jns 0x5cdc9a
dec eax
or eax, 0xffffffe0
inc eax
mov dword [ebp - 0x330], eax
cmp dword [ebp - 0x330], 0
jge 0x5cdcc1
mov edx, dword [ebp - 0x330]
add edx, 0x20
mov dword [ebp - 0x45c], edx
sub dword [ebp - 0x460], 4
jmp 0x5cdccd
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.005ca450
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 0x5cde2f
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.005cecc8
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.0055ffa4
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.0042686c
add esp, 0xc
mov edx, dword [edi + 0x28]
mov dword [ebp - 0x34c], edx
mov ecx, dword [ebp - 0x34c]
push ecx
call fcn.0055ffa4
pop ecx
dec dword [ebx + 0x1c]
cmp dword [edi + 0x10], 0
je 0x5cde8f
mov eax, dword [edi + 0x10]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [edi + 0xc], 0
je 0x5cdea0
mov eax, dword [edi + 0xc]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [edi + 4], 0
je 0x5cdeb1
mov eax, dword [edi + 4]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [edi], 0
je 0x5cdec0
mov eax, dword [edi]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [ebp - 0xa8], 0
je 0x5cded7
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.0055ffa4
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.0042686c
add esp, 0xc
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x354], edx
mov ecx, dword [ebp - 0x354]
push ecx
call fcn.0055ffa4
pop ecx
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x48], 0
je 0x5cdf44
mov eax, dword [ebp - 0x48]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x44], 0
je 0x5cdf55
mov eax, dword [ebp - 0x44]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x40], 0
je 0x5cdf66
mov eax, dword [ebp - 0x40]
call fcn.00408920
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x3c], 0
je 0x5cdf77
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 0x5cca75
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 0x5ce056
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 0x5ce013
mov ecx, dword [ebp - 0x154]
inc dword [ecx]
mov eax, dword [ebp - 0x358]
cmp dword [eax], 0
je 0x5ce02b
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 0x5ce050
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 0x5ce101
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 0x5ce0be
mov ecx, dword [ebp - 0x158]
inc dword [ecx]
mov eax, dword [ebp - 0x35c]
cmp dword [eax], 0
je 0x5ce0d6
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 0x5ce0fb
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 0x5ce1af
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 0x5ce16c
mov ecx, dword [ebp - 0x15c]
inc dword [ecx]
mov eax, dword [ebp - 0x360]
cmp dword [eax], 0
je 0x5ce184
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 0x5ce1a9
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 0x5ce1da
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 0x5ce211
mov ecx, dword [ebp - 0x14]
inc dword [ecx]
inc dword [ebx + 0x1c]
mov word [ebx + 0x10], 0x308
mov eax, dword [ebp - 0x194]
call fcn.005d1340
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 0x194]
call fcn.005d0e94
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 0x194]
call fcn.005d1508
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 0x5ce286
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 0x5ce2cb
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 0x5ce3b6
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 0x5ce33f
mov ecx, dword [ebp - 0x164]
inc dword [ecx]
cmp dword [ebp - 0x160], 0
je 0x5ce353
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 0x5ce376
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.005cb0c0
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x160], 0
je 0x5ce3b0
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 0x5ce4a1
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 0x5ce42a
mov ecx, dword [ebp - 0x16c]
inc dword [ecx]
cmp dword [ebp - 0x168], 0
je 0x5ce43e
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 0x5ce461
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.005cb9c4
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x168], 0
je 0x5ce49b
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 0x5ce4e3
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 0x5ce4f4
mov eax, dword [ebp - 0x14]
call fcn.00408920
mov word [ebx + 0x10], 0x308
dec dword [ebx + 0x1c]
cmp dword [ebp - 0x10], 0
je 0x5ce50b
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