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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x6caa43
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x538
mov eax, dword [0x721bb0]
push ebx
push esi
push edi
mov dword [esp + 0x53c], eax
mov eax, dword [ebp + 8]
mov esi, ecx
push 0x6d60d0
push eax
mov dword [esp + 0x34], esi
call fcn.00694dfa
mov ebx, eax
add esp, 8
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x5cd150
xor eax, eax
mov ecx, 0x90
lea edi, [esi + 4]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0x244]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0x484]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0x6c4]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0x904]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0xb44]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0xd84]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0xfc4]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0x1204]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0x1444]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0x1800]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0x1a40]
rep stosd dword es:[edi], eax
mov ecx, 0x90
lea edi, [esi + 0x1c80]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 8]
mov ecx, esi
sub ecx, eax
lea edx, [ecx + 0x1700]
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x5ca850
mov ecx, esi
call fcn.005c9240
push ebx
push 1
lea edx, [esp + 0x440]
push pe_nt_image_headers32
push edx
call fcn.00694ff9
push ebx
push 1
lea eax, [esi + 0x1ee4]
push 4
push eax
call fcn.00694ff9
push ebx
push 1
lea ecx, [esi + 0x1ee8]
push 4
push ecx
call fcn.00694ff9
push ebx
push 1
lea edx, [esi + 0x1eec]
push 4
push edx
call fcn.00694ff9
add esp, 0x40
push ebx
push 1
lea eax, [esi + 0x1ef0]
push 4
push eax
call fcn.00694ff9
push ebx
push 1
lea ecx, [esp + 0x4c]
push 4
xor edi, edi
push ecx
mov dword [esp + 0x54], edi
call fcn.00694ff9
mov eax, dword [esi + 0x16fc]
add esp, 0x20
cmp eax, edi
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], edi
jne 0x5ca9c1
cmp eax, edi
jle 0x5caa99
push 0x14
call fcn.006918d6
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x54c], 0
je 0x5ca91b
mov ecx, eax
call fcn.0061e0b0
mov edi, eax
jmp 0x5ca91d
xor edi, edi
push ebx
push 1
lea edx, [edi + 4]
push 4
push edx
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push ebx
push 1
lea eax, [edi + 8]
push 4
push eax
call fcn.00694ff9
push 0x4204
call fcn.0069197a
push ebx
push 1
push 0x4204
push eax
mov dword [edi + 0xc], eax
call fcn.00694ff9
mov eax, dword [esi + 0x1ed4]
mov ecx, dword [esi + 0x1ed0]
add esp, 0x34
cmp ecx, eax
jne 0x5ca98b
test eax, eax
je 0x5ca97a
add eax, eax
jmp 0x5ca97f
mov eax, 0x10
push eax
lea ecx, [esi + 0x1ecc]
call fcn.005db0a0
mov ecx, dword [esi + 0x1ed0]
mov edx, dword [esi + 0x1ecc]
mov eax, dword [esp + 0xc]
mov dword [edx + ecx*4], edi
mov edi, dword [esi + 0x1ed0]
mov ecx, dword [esp + 0x34]
inc edi
inc eax
cmp eax, ecx
mov dword [esi + 0x1ed0], edi
mov dword [esp + 0xc], eax
jl 0x5ca8f3
jmp 0x5caa99
cmp eax, edi
jle 0x5caa99
lea esp, [esp]
push 0x14
call fcn.006918d6
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x54c], 1
je 0x5ca9f8
mov ecx, eax
call fcn.0061e0b0
mov edi, eax
jmp 0x5ca9fa
xor edi, edi
push ebx
push 1
lea eax, [edi + 4]
push 4
push eax
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push ebx
push 1
lea ecx, [edi + 8]
push 4
push ecx
call fcn.00694ff9
push 0x4204
call fcn.0069197a
push ebx
push 1
push 0x4204
push eax
mov dword [edi + 0xc], eax
call fcn.00694ff9
mov eax, dword [esi + 0x1ed4]
mov ecx, dword [esi + 0x1ed0]
add esp, 0x34
cmp ecx, eax
jne 0x5caa68
test eax, eax
je 0x5caa57
add eax, eax
jmp 0x5caa5c
mov eax, 0x10
push eax
lea ecx, [esi + 0x1ecc]
call fcn.005db0a0
mov edx, dword [esi + 0x1ed0]
mov eax, dword [esi + 0x1ecc]
mov dword [eax + edx*4], edi
mov edi, dword [esi + 0x1ed0]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
inc edi
inc eax
cmp eax, ecx
mov dword [esi + 0x1ed0], edi
mov dword [esp + 0xc], eax
jl 0x5ca9d0
push ebx
push 1
lea ecx, [esp + 0x54]
push 4
xor edi, edi
push ecx
mov dword [esp + 0x5c], edi
call fcn.00694ff9
mov eax, dword [esp + 0x5c]
add esp, 0x10
cmp eax, edi
mov dword [esp + 0x10], edi
jle 0x5cabfb
push 0x28
call fcn.006918d6
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x54c], 2
je 0x5caae9
mov ecx, eax
call fcn.0061e350
mov edi, eax
jmp 0x5caaeb
xor edi, edi
push ebx
push 1
lea eax, [edi + 8]
push 4
push eax
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push ebx
push 1
lea eax, [edi + 0xc]
push 4
push eax
call fcn.00694ff9
push ebx
push 1
lea edx, [edi + 0x1c]
push 4
push edx
call fcn.00694ff9
push ebx
push 1
lea eax, [edi + 0x20]
push 4
push eax
call fcn.00694ff9
add esp, 0x40
push ebx
push 1
lea ecx, [edi + 0x14]
push 4
push ecx
call fcn.00694ff9
push ebx
push 1
lea edx, [edi + 0x18]
push 4
push edx
call fcn.00694ff9
push ebx
push 1
lea eax, [edi + 0x10]
push 4
push eax
call fcn.00694ff9
push ebx
push 1
lea ecx, [edi + 4]
push 1
push ecx
call fcn.00694ff9
add esp, 0x40
push ebx
push 1
lea edx, [edi + 0x24]
push 4
push edx
call fcn.00694ff9
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
imul eax, eax, 0xb
add esp, 0x10
add eax, ecx
mov dword [esp + 0xc], eax
js 0x5cabde
cmp eax, 0x90
jge 0x5cabde
mov eax, dword [esi + 0x16bc]
cmp dword [esi + 0x16b8], eax
jne 0x5cabbc
test eax, eax
je 0x5cabab
add eax, eax
jmp 0x5cabb0
mov eax, 0x10
push eax
lea ecx, [esi + 0x16b4]
call fcn.005db0a0
mov eax, dword [esi + 0x16b8]
mov ecx, dword [esi + 0x16b4]
mov edx, dword [esp + 0xc]
mov dword [ecx + eax*4], edi
inc dword [esi + 0x16b8]
mov dword [esi + edx*4 + 0x904], edi
jmp 0x5cabe6
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
inc eax
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x5caac1
push ebx
push 1
lea ecx, [esp + 0x64]
push 4
xor edi, edi
push ecx
mov dword [esp + 0x6c], edi
call fcn.00694ff9
mov eax, dword [esp + 0x6c]
add esp, 0x10
cmp eax, edi
mov dword [esp + 0xc], edi
jle 0x5cae3b
push 0x628
call fcn.006918d6
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x54c], 3
je 0x5cac4e
mov ecx, eax
call fcn.0061e110
mov edi, eax
jmp 0x5cac50
xor edi, edi
push ebx
push 1
lea eax, [edi + 0x620]
push 4
push eax
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push ebx
push 1
lea eax, [edi + 0x624]
push 4
push eax
call fcn.00694ff9
push ebx
push 1
lea edx, [edi + 0x20]
push pe_nt_image_headers32
push edx
call fcn.00694ff9
push ebx
push 1
lea eax, [edi + 0x320]
push pe_nt_image_headers32
push eax
call fcn.00694ff9
add esp, 0x40
push ebx
push 1
lea eax, [edi + 0x120]
push pe_nt_image_headers32
push eax
call fcn.00694ff9
push ebx
push 1
lea eax, [edi + 0x420]
push pe_nt_image_headers32
push eax
call fcn.00694ff9
push ebx
push 1
lea eax, [edi + 0x220]
push pe_nt_image_headers32
push eax
call fcn.00694ff9
push ebx
push 1
lea eax, [edi + 0x520]
push pe_nt_image_headers32
push eax
call fcn.00694ff9
mov eax, dword [0x71fb1c]
add esp, 0x40
test eax, eax
jne 0x5cad60
mov eax, dword [str.detail.dds]
mov dword [edi + 0x320], eax
mov ecx, dword [0x6ee09c]
mov dword [edi + 0x324], ecx
mov dx, word [0x6ee0a0]
mov word [edi + 0x328], dx
mov al, byte [0x6ee0a2]
mov byte [edi + 0x32a], al
mov cl, byte [0x6d05b8]
mov byte [edi + 0x120], cl
mov dl, byte [0x6d05b8]
mov byte [edi + 0x420], dl
mov al, byte [0x6d05b8]
mov byte [edi + 0x220], al
mov cl, byte [0x6d05b8]
mov byte [edi + 0x520], cl
mov eax, dword [edi + 0x620]
mov ecx, dword [edi + 0x624]
imul eax, eax, 0xb
add eax, ecx
mov dword [esp + 0x1c], eax
js 0x5cae1e
cmp eax, 0x90
jge 0x5cae1e
mov eax, dword [esi + 0x1ee0]
cmp dword [esi + 0x1edc], eax
jne 0x5cadfc
test eax, eax
je 0x5cad9c
add eax, eax
jmp 0x5cada1
mov eax, 0x10
mov edx, dword [esi + 0x1ed8]
mov dword [esi + 0x1ee0], eax
shl eax, 2
push eax
mov dword [esp + 0x14], edx
call fcn.0069197a
mov ecx, dword [esi + 0x1edc]
mov dword [esi + 0x1ed8], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cadeb
nop
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 0x1ed8]
mov edx, dword [edx + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [esi + 0x1edc]
inc eax
cmp eax, ecx
jl 0x5cadd0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5cadfc
push eax
call fcn.00693d31
add esp, 4
mov ecx, dword [esi + 0x1edc]
mov edx, dword [esi + 0x1ed8]
mov dword [edx + ecx*4], edi
inc dword [esi + 0x1edc]
mov eax, dword [esp + 0x1c]
mov dword [esi + eax*4 + 0x1c80], edi
jmp 0x5cae26
mov edx, dword [edi]
push 1
mov ecx, edi
call dword [edx]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
inc eax
cmp eax, ecx
mov dword [esp + 0xc], eax
jl 0x5cac23
push ebx
push 1
lea eax, [esp + 0x44]
push 4
xor esi, esi
push eax
mov dword [esp + 0x4c], esi
call fcn.00694ff9
mov eax, dword [esp + 0x4c]
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x18], esi
jle 0x5cb2ab
push 0x54
call fcn.006918d6
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x54c], 4
je 0x5cae8b
mov ecx, eax
call fcn.0061e470
mov esi, eax
jmp 0x5cae8d
xor esi, esi
push ebx
push 1
lea eax, [esi + 4]
push 4
push eax
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push ebx
push 1
lea eax, [esi + 8]
push 4
push eax
call fcn.00694ff9
push ebx
push 1
lea ecx, [esi + 0x48]
push 4
push ecx
call fcn.00694ff9
push ebx
push 1
lea edx, [esi + 0x4c]
push 4
push edx
call fcn.00694ff9
add esp, 0x40
push ebx
push 1
lea eax, [esi + 0x50]
push 4
push eax
call fcn.00694ff9
push ebx
push 1
lea ecx, [esp + 0x40]
push 4
push ecx
call fcn.00694ff9
mov eax, dword [esp + 0x48]
add esp, 0x20
test eax, eax
mov dword [esp + 0xc], 0
jle 0x5cb1c7
push ebx
push 1
lea edx, [esp + 0x18]
push 4
push edx
call fcn.00694ff9
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x34]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x38]
add esp, 0x10
cmp ecx, eax
jne 0x5caf7e
test eax, eax
je 0x5caf33
add eax, eax
jmp 0x5caf38
mov eax, 0x10
mov edi, dword [esi + 0x30]
lea ecx, [eax*4]
push ecx
mov dword [esi + 0x38], eax
call fcn.0069197a
mov ecx, dword [esi + 0x34]
mov dword [esi + 0x30], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5caf71
lea ebx, [ebx]
mov ecx, dword [edi + eax*4]
mov edx, dword [esi + 0x30]
mov dword [edx + eax*4], ecx
mov ecx, dword [esi + 0x34]
inc eax
cmp eax, ecx
jl 0x5caf60
test edi, edi
je 0x5caf7e
push edi
call fcn.00693d31
add esp, 4
mov edx, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
mov ecx, dword [esp + 0x1c]
push ebx
mov dword [eax + edx*4], ecx
mov edi, dword [esi + 0x34]
push 1
lea edx, [esp + 0x18]
push 4
inc edi
push edx
mov dword [esi + 0x34], edi
call fcn.00694ff9
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x1c]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0x20]
add esp, 0x10
cmp ecx, eax
jne 0x5cb003
test eax, eax
je 0x5cafbe
add eax, eax
jmp 0x5cafc3
mov eax, 0x10
mov edi, dword [esi + 0x18]
lea ecx, [eax*4]
push ecx
mov dword [esi + 0x20], eax
call fcn.0069197a
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x18], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5caff6
mov ecx, dword [edi + eax*4]
mov edx, dword [esi + 0x18]
mov dword [edx + eax*4], ecx
mov ecx, dword [esi + 0x1c]
inc eax
cmp eax, ecx
jl 0x5cafe5
test edi, edi
je 0x5cb003
push edi
call fcn.00693d31
add esp, 4
mov edx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x64]
push ebx
mov dword [eax + edx*4], ecx
mov edi, dword [esi + 0x1c]
push 1
lea edx, [esp + 0x18]
push 4
inc edi
push edx
mov dword [esi + 0x1c], edi
call fcn.00694ff9
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x28]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0x2c]
add esp, 0x10
cmp ecx, eax
jne 0x5cb08e
test eax, eax
je 0x5cb043
add eax, eax
jmp 0x5cb048
mov eax, 0x10
mov edi, dword [esi + 0x24]
lea ecx, [eax*4]
push ecx
mov dword [esi + 0x2c], eax
call fcn.0069197a
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x24], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cb081
lea ebx, [ebx]
mov ecx, dword [edi + eax*4]
mov edx, dword [esi + 0x24]
mov dword [edx + eax*4], ecx
mov ecx, dword [esi + 0x28]
inc eax
cmp eax, ecx
jl 0x5cb070
test edi, edi
je 0x5cb08e
push edi
call fcn.00693d31
add esp, 4
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
mov ecx, dword [esp + 0x50]
push ebx
mov dword [eax + edx*4], ecx
mov edi, dword [esi + 0x28]
push 1
lea edx, [esp + 0x18]
push 4
inc edi
push edx
mov dword [esi + 0x28], edi
call fcn.00694ff9
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x14]
add esp, 0x10
cmp ecx, eax
jne 0x5cb113
test eax, eax
je 0x5cb0ce
add eax, eax
jmp 0x5cb0d3
mov eax, 0x10
mov edi, dword [esi + 0xc]
lea ecx, [eax*4]
push ecx
mov dword [esi + 0x14], eax
call fcn.0069197a
mov ecx, dword [esi + 0x10]
mov dword [esi + 0xc], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cb106
mov ecx, dword [edi + eax*4]
mov edx, dword [esi + 0xc]
mov dword [edx + eax*4], ecx
mov ecx, dword [esi + 0x10]
inc eax
cmp eax, ecx
jl 0x5cb0f5
test edi, edi
je 0x5cb113
push edi
call fcn.00693d31
add esp, 4
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x58]
push ebx
mov dword [eax + edx*4], ecx
mov edi, dword [esi + 0x10]
push 1
lea edx, [esp + 0x38]
push 4
inc edi
push edx
mov dword [esi + 0x10], edi
call fcn.00694ff9
mov eax, dword [esp + 0x40]
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x44]
add esp, 0x10
cmp ecx, eax
jne 0x5cb19e
test eax, eax
je 0x5cb153
add eax, eax
jmp 0x5cb158
mov eax, 0x10
mov edi, dword [esi + 0x3c]
lea ecx, [eax*4]
push ecx
mov dword [esi + 0x44], eax
call fcn.0069197a
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x3c], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cb191
lea ebx, [ebx]
mov ecx, dword [edi + eax*4]
mov edx, dword [esi + 0x3c]
mov dword [edx + eax*4], ecx
mov ecx, dword [esi + 0x40]
inc eax
cmp eax, ecx
jl 0x5cb180
test edi, edi
je 0x5cb19e
push edi
call fcn.00693d31
add esp, 4
mov edx, dword [esi + 0x40]
mov eax, dword [esi + 0x3c]
mov ecx, dword [esp + 0x24]
mov dword [eax + edx*4], ecx
mov edi, dword [esi + 0x40]
mov eax, dword [esp + 0xc]
inc edi
mov dword [esi + 0x40], edi
mov ecx, dword [esp + 0x28]
inc eax
cmp eax, ecx
mov dword [esp + 0xc], eax
jl 0x5caf07
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
imul eax, eax, 0xb
add eax, ecx
mov dword [esp + 0x24], eax
js 0x5cb28e
cmp eax, 0x90
jge 0x5cb28e
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0x16c8]
cmp dword [edi + 0x16c4], eax
jne 0x5cb26c
test eax, eax
je 0x5cb201
add eax, eax
jmp 0x5cb206
mov eax, 0x10
mov edx, dword [edi + 0x16c0]
mov dword [edi + 0x16c8], eax
shl eax, 2
push eax
mov dword [esp + 0x10], edx
call fcn.0069197a
mov ecx, dword [edi + 0x16c4]
mov dword [edi + 0x16c0], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cb25b
jmp 0x5cb240
mov edx, dword [esp + 0xc]
mov ecx, dword [edi + 0x16c0]
mov edx, dword [edx + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [edi + 0x16c4]
inc eax
cmp eax, ecx
jl 0x5cb240
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5cb26c
push eax
call fcn.00693d31
add esp, 4
mov ecx, dword [edi + 0x16c4]
mov edx, dword [edi + 0x16c0]
mov dword [edx + ecx*4], esi
inc dword [edi + 0x16c4]
mov eax, dword [esp + 0x24]
mov dword [edi + eax*4 + 0xb44], esi
jmp 0x5cb296
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x5cae63
push ebx
push 1
lea eax, [esp + 0x48]
push 4
xor esi, esi
push eax
mov dword [esp + 0x50], esi
call fcn.00694ff9
mov eax, dword [esp + 0x50]
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x28], esi
jle 0x5cb796
push 0x54
call fcn.006918d6
add esp, 4
mov dword [esp + 0x30], eax
xor edi, edi
cmp eax, edi
mov dword [esp + 0x54c], 5
je 0x5cb2fd
mov ecx, eax
call fcn.0061e040
mov ebx, eax
jmp 0x5cb2ff
xor ebx, ebx
mov esi, dword [esp + 0x14]
push esi
push 1
lea eax, [ebx + 0x10]
push 4
push eax
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push esi
push 1
lea eax, [ebx + 0x14]
push 4
push eax
call fcn.00694ff9
push esi
push 1
lea ecx, [esp + 0x38]
push 4
push ecx
mov dword [esp + 0x40], edi
call fcn.00694ff9
mov eax, dword [esp + 0x40]
add esp, 0x30
cmp eax, edi
mov dword [esp + 0x18], edi
jle 0x5cb6c7
mov edx, dword [esp + 0x14]
push edx
push 1
lea eax, [esp + 0x120]
push 0x40
push eax
call fcn.00694ff9
mov eax, dword [ebx + 0xc]
mov ecx, 0x10
lea esi, [esp + 0x128]
lea edi, [esp + 0xa8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 8]
add esp, 0x10
cmp ecx, eax
jne 0x5cb3f1
test eax, eax
je 0x5cb390
add eax, eax
jmp 0x5cb395
mov eax, 0x10
mov ecx, dword [ebx + 4]
mov dword [ebx + 0xc], eax
shl eax, 6
push eax
mov dword [esp + 0x10], ecx
call fcn.0069197a
mov dword [ebx + 4], eax
mov eax, dword [ebx + 8]
add esp, 4
xor edx, edx
test eax, eax
jle 0x5cb3de
xor eax, eax
lea esp, [esp]
mov ecx, dword [esp + 0xc]
mov edi, dword [ebx + 4]
lea esi, [ecx + eax]
add edi, eax
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 8]
inc edx
add eax, 0x40
cmp edx, ecx
jl 0x5cb3c0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5cb3f1
mov edx, eax
push edx
call fcn.00693d31
add esp, 4
mov edi, dword [ebx + 8]
mov esi, dword [ebx + 4]
mov eax, dword [esp + 0x14]
shl edi, 6
add edi, esi
push eax
mov ecx, 0x10
lea esi, [esp + 0x9c]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx + 8]
push 1
lea ecx, [esp + 0x2c]
inc edx
push 4
push ecx
mov dword [ebx + 8], edx
call fcn.00694ff9
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x1c]
mov edi, dword [esp + 0x34]
add esp, 0x10
cmp ecx, eax
jne 0x5cb482
test eax, eax
je 0x5cb43d
add eax, eax
jmp 0x5cb442
mov eax, 0x10
mov esi, dword [ebx + 0x18]
lea edx, [eax*4]
push edx
mov dword [ebx + 0x20], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x1c]
mov dword [ebx + 0x18], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cb475
mov ecx, dword [ebx + 0x18]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x1c]
inc eax
cmp eax, ecx
jl 0x5cb464
test esi, esi
je 0x5cb482
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
mov dword [ecx + eax*4], edi
mov ecx, dword [ebx + 0x1c]
inc ecx
push pe_nt_image_headers32
mov dword [ebx + 0x1c], ecx
call fcn.0069197a
mov edx, dword [esp + 0x18]
push edx
push 1
mov edi, eax
push pe_nt_image_headers32
push edi
call fcn.00694ff9
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x40]
add esp, 0x14
cmp ecx, eax
jne 0x5cb50e
test eax, eax
je 0x5cb4c5
add eax, eax
jmp 0x5cb4ca
mov eax, 0x10
mov esi, dword [ebx + 0x3c]
mov dword [ebx + 0x44], eax
shl eax, 2
push eax
call fcn.0069197a
mov ecx, dword [ebx + 0x40]
mov dword [ebx + 0x3c], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cb501
jmp 0x5cb4f0
mov ecx, dword [ebx + 0x3c]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x40]
inc eax
cmp eax, ecx
jl 0x5cb4f0
test esi, esi
je 0x5cb50e
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x3c]
mov dword [ecx + eax*4], edi
mov ecx, dword [ebx + 0x40]
inc ecx
push pe_nt_image_headers32
mov dword [ebx + 0x40], ecx
call fcn.0069197a
mov edx, dword [esp + 0x18]
push edx
push 1
mov edi, eax
push pe_nt_image_headers32
push edi
call fcn.00694ff9
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x34]
add esp, 0x14
cmp ecx, eax
jne 0x5cb592
test eax, eax
je 0x5cb551
add eax, eax
jmp 0x5cb556
mov eax, 0x10
mov esi, dword [ebx + 0x30]
mov dword [ebx + 0x38], eax
shl eax, 2
push eax
call fcn.0069197a
mov ecx, dword [ebx + 0x34]
mov dword [ebx + 0x30], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cb585
mov ecx, dword [ebx + 0x30]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x34]
inc eax
cmp eax, ecx
jl 0x5cb574
test esi, esi
je 0x5cb592
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x30]
mov dword [ecx + eax*4], edi
mov ecx, dword [ebx + 0x34]
inc ecx
push pe_nt_image_headers32
mov dword [ebx + 0x34], ecx
call fcn.0069197a
mov edx, dword [esp + 0x18]
push edx
push 1
mov edi, eax
push pe_nt_image_headers32
push edi
call fcn.00694ff9
mov eax, dword [ebx + 0x2c]
mov ecx, dword [ebx + 0x28]
add esp, 0x14
cmp ecx, eax
jne 0x5cb61e
test eax, eax
je 0x5cb5d5
add eax, eax
jmp 0x5cb5da
mov eax, 0x10
mov esi, dword [ebx + 0x24]
mov dword [ebx + 0x2c], eax
shl eax, 2
push eax
call fcn.0069197a
mov ecx, dword [ebx + 0x28]
mov dword [ebx + 0x24], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cb611
jmp 0x5cb600
mov ecx, dword [ebx + 0x24]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x28]
inc eax
cmp eax, ecx
jl 0x5cb600
test esi, esi
je 0x5cb61e
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x24]
mov dword [ecx + eax*4], edi
mov ecx, dword [ebx + 0x28]
inc ecx
push pe_nt_image_headers32
mov dword [ebx + 0x28], ecx
call fcn.0069197a
mov edx, dword [esp + 0x18]
push edx
push 1
mov edi, eax
push pe_nt_image_headers32
push edi
call fcn.00694ff9
mov eax, dword [ebx + 0x50]
mov ecx, dword [ebx + 0x4c]
add esp, 0x14
cmp ecx, eax
jne 0x5cb6a2
test eax, eax
je 0x5cb661
add eax, eax
jmp 0x5cb666
mov eax, 0x10
mov esi, dword [ebx + 0x48]
mov dword [ebx + 0x50], eax
shl eax, 2
push eax
call fcn.0069197a
mov ecx, dword [ebx + 0x4c]
mov dword [ebx + 0x48], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cb695
mov ecx, dword [ebx + 0x48]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x4c]
inc eax
cmp eax, ecx
jl 0x5cb684
test esi, esi
je 0x5cb6a2
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x4c]
mov ecx, dword [ebx + 0x48]
mov dword [ecx + eax*4], edi
mov esi, dword [ebx + 0x4c]
mov eax, dword [esp + 0x18]
inc esi
mov dword [ebx + 0x4c], esi
mov ecx, dword [esp + 0x10]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x5cb350
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
imul eax, eax, 0xb
add eax, ecx
mov dword [esp + 0x18], eax
js 0x5cb779
cmp eax, 0x90
jge 0x5cb779
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 0x16b0]
cmp dword [esi + 0x16ac], ecx
jne 0x5cb75b
test ecx, ecx
lea eax, [ecx + ecx]
jne 0x5cb705
mov eax, 0x10
mov edi, dword [esi + 0x16a8]
lea edx, [eax*4]
push edx
mov dword [esi + 0x16b0], eax
call fcn.0069197a
mov ecx, dword [esi + 0x16ac]
mov dword [esi + 0x16a8], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cb74a
mov ecx, dword [esi + 0x16a8]
mov edx, dword [edi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [esi + 0x16ac]
inc eax
cmp eax, ecx
jl 0x5cb733
test edi, edi
je 0x5cb757
push edi
call fcn.00693d31
add esp, 4
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x16ac]
mov edx, dword [esi + 0x16a8]
mov dword [edx + ecx*4], ebx
inc dword [esi + 0x16ac]
mov dword [esi + eax*4 + 0x6c4], ebx
jmp 0x5cb781
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
inc eax
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x5cb2d3
mov ecx, dword [esp + 0x14]
push ecx
push 1
lea edx, [esp + 0x50]
push 4
xor esi, esi
push edx
mov dword [esp + 0x58], esi
call fcn.00694ff9
mov eax, dword [esp + 0x58]
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x1c], esi
jle 0x5cc0d5
push 0x47c
call fcn.006918d6
add esp, 4
mov dword [esp + 0x64], eax
test eax, eax
mov dword [esp + 0x54c], 6
je 0x5cb7ed
mov ecx, eax
call fcn.0061e720
mov ebx, eax
jmp 0x5cb7ef
xor ebx, ebx
mov edi, dword [esp + 0x14]
push edi
push 1
lea esi, [ebx + 0x204]
push pe_nt_image_headers32
push esi
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push edi
push 1
lea eax, [ebx + 0x104]
push pe_nt_image_headers32
push eax
call fcn.00694ff9
push edi
push 1
lea eax, [ebx + 4]
push pe_nt_image_headers32
push eax
call fcn.00694ff9
push edi
push 1
lea eax, [ebx + 0x304]
push pe_nt_image_headers32
push eax
call fcn.00694ff9
add esp, 0x40
push esi
call fcn.006942cf
add esp, 4
mov cl, byte [eax]
inc eax
mov byte [esi], cl
inc esi
test cl, cl
jne 0x5cb857
lea esi, [ebx + 0x104]
push esi
call fcn.006942cf
add esp, 4
mov edx, esi
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x5cb872
lea esi, [ebx + 4]
push esi
call fcn.006942cf
add esp, 4
mov edx, esi
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x5cb890
lea esi, [ebx + 0x304]
push esi
call fcn.006942cf
add esp, 4
mov edx, esi
jmp 0x5cb8b0
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x5cb8b0
push edi
push 1
lea eax, [esp + 0x30]
push 4
push eax
call fcn.00694ff9
mov eax, dword [esp + 0x38]
add esp, 0x10
test eax, eax
mov dword [esp + 0x18], 0
jle 0x5cbc66
push pe_nt_image_headers32
call fcn.0069197a
mov ecx, dword [esp + 0x18]
push ecx
push 1
mov edi, eax
push pe_nt_image_headers32
push edi
call fcn.00694ff9
mov eax, dword [ebx + 0x40c]
mov ecx, dword [ebx + 0x408]
add esp, 0x14
cmp ecx, eax
jne 0x5cb974
test eax, eax
je 0x5cb919
add eax, eax
jmp 0x5cb91e
mov eax, 0x10
mov esi, dword [ebx + 0x404]
lea edx, [eax*4]
push edx
mov dword [ebx + 0x40c], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x408]
mov dword [ebx + 0x404], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cb967
lea esp, [esp]
mov ecx, dword [ebx + 0x404]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x408]
inc eax
cmp eax, ecx
jl 0x5cb950
test esi, esi
je 0x5cb974
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x408]
mov ecx, dword [ebx + 0x404]
mov dword [ecx + eax*4], edi
inc dword [ebx + 0x408]
mov edx, dword [esp + 0x14]
push edx
push 1
lea eax, [esp + 0x2c]
push 4
push eax
call fcn.00694ff9
mov eax, dword [ebx + 0x43c]
mov ecx, dword [ebx + 0x438]
mov edi, dword [esp + 0x34]
add esp, 0x10
cmp ecx, eax
jne 0x5cba14
test eax, eax
je 0x5cb9bb
add eax, eax
jmp 0x5cb9c0
mov eax, 0x10
mov esi, dword [ebx + 0x434]
lea ecx, [eax*4]
push ecx
mov dword [ebx + 0x43c], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x438]
mov dword [ebx + 0x434], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cba07
mov edi, edi
mov ecx, dword [esi + eax*4]
mov edx, dword [ebx + 0x434]
mov dword [edx + eax*4], ecx
mov ecx, dword [ebx + 0x438]
inc eax
cmp eax, ecx
jl 0x5cb9f0
test esi, esi
je 0x5cba14
push esi
call fcn.00693d31
add esp, 4
mov edx, dword [ebx + 0x438]
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0x434]
push ecx
mov dword [eax + edx*4], edi
mov esi, dword [ebx + 0x438]
push 1
lea edx, [esp + 0xa0]
push 0x40
inc esi
push edx
mov dword [ebx + 0x438], esi
call fcn.00694ff9
mov eax, dword [ebx + 0x418]
mov ecx, 0x10
lea esi, [esp + 0xa8]
lea edi, [esp + 0x128]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x414]
add esp, 0x10
cmp ecx, eax
jne 0x5cbae7
test eax, eax
je 0x5cba7a
add eax, eax
jmp 0x5cba7f
mov eax, 0x10
mov ecx, dword [ebx + 0x410]
mov dword [ebx + 0x418], eax
shl eax, 6
push eax
mov dword [esp + 0x10], ecx
call fcn.0069197a
mov dword [ebx + 0x410], eax
mov eax, dword [ebx + 0x414]
add esp, 4
xor edx, edx
test eax, eax
jle 0x5cbad4
xor eax, eax
nop
mov ecx, dword [esp + 0xc]
mov edi, dword [ebx + 0x410]
lea esi, [ecx + eax]
add edi, eax
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x414]
inc edx
add eax, 0x40
cmp edx, ecx
jl 0x5cbab0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5cbae7
mov edx, eax
push edx
call fcn.00693d31
add esp, 4
mov edi, dword [ebx + 0x414]
mov esi, dword [ebx + 0x410]
mov eax, dword [esp + 0x14]
shl edi, 6
add edi, esi
push eax
mov ecx, 0x10
lea esi, [esp + 0x11c]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx + 0x414]
push 1
lea ecx, [esp + 0x2b]
inc edx
push 1
push ecx
mov dword [ebx + 0x414], edx
call fcn.00694ff9
mov eax, dword [ebx + 0x424]
mov ecx, dword [ebx + 0x420]
add esp, 0x10
cmp ecx, eax
jne 0x5cbb94
test eax, eax
je 0x5cbb41
add eax, eax
jmp 0x5cbb46
mov eax, 0x10
mov esi, dword [ebx + 0x41c]
push eax
mov dword [ebx + 0x424], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x420]
mov dword [ebx + 0x41c], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cbb87
lea ecx, [ecx]
mov cl, byte [eax + esi]
mov edx, dword [ebx + 0x41c]
mov byte [eax + edx], cl
mov ecx, dword [ebx + 0x420]
inc eax
cmp eax, ecx
jl 0x5cbb70
test esi, esi
je 0x5cbb94
push esi
call fcn.00693d31
add esp, 4
mov edx, dword [ebx + 0x420]
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0x41c]
push ecx
mov byte [edx + eax], 1
mov esi, dword [ebx + 0x420]
push 1
lea edx, [esp + 0x2a]
push 1
inc esi
push edx
mov dword [ebx + 0x420], esi
call fcn.00694ff9
mov eax, dword [ebx + 0x430]
mov ecx, dword [ebx + 0x42c]
add esp, 0x10
cmp ecx, eax
jne 0x5cbc34
test eax, eax
je 0x5cbbdf
add eax, eax
jmp 0x5cbbe4
mov eax, 0x10
mov esi, dword [ebx + 0x428]
push eax
mov dword [ebx + 0x430], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x42c]
mov dword [ebx + 0x428], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cbc27
jmp 0x5cbc10
mov ecx, dword [ebx + 0x428]
mov dl, byte [eax + esi]
mov byte [eax + ecx], dl
mov ecx, dword [ebx + 0x42c]
inc eax
cmp eax, ecx
jl 0x5cbc10
test esi, esi
je 0x5cbc34
push esi
call fcn.00693d31
add esp, 4
mov ecx, dword [ebx + 0x42c]
mov eax, dword [ebx + 0x428]
mov byte [eax + ecx], 1
mov esi, dword [ebx + 0x42c]
mov eax, dword [esp + 0x18]
inc esi
mov dword [ebx + 0x42c], esi
mov ecx, dword [esp + 0x28]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x5cb8e0
mov edx, dword [esp + 0x14]
push edx
push 1
lea eax, [esp + 0x18]
push 4
push eax
call fcn.00694ff9
mov eax, dword [esp + 0x20]
add esp, 0x10
test eax, eax
mov dword [esp + 0x18], 0
jle 0x5cc027
push pe_nt_image_headers32
call fcn.0069197a
mov ecx, dword [esp + 0x18]
push ecx
push 1
mov edi, eax
push pe_nt_image_headers32
push edi
call fcn.00694ff9
mov eax, dword [ebx + 0x448]
mov ecx, dword [ebx + 0x444]
add esp, 0x14
cmp ecx, eax
jne 0x5cbd24
test eax, eax
je 0x5cbccd
add eax, eax
jmp 0x5cbcd2
mov eax, 0x10
mov esi, dword [ebx + 0x440]
lea edx, [eax*4]
push edx
mov dword [ebx + 0x448], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x444]
mov dword [ebx + 0x440], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cbd17
mov ecx, dword [ebx + 0x440]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x444]
inc eax
cmp eax, ecx
jl 0x5cbd00
test esi, esi
je 0x5cbd24
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x444]
mov ecx, dword [ebx + 0x440]
mov dword [ecx + eax*4], edi
inc dword [ebx + 0x444]
mov edx, dword [esp + 0x14]
push edx
push 1
lea eax, [esp + 0x38]
push 4
push eax
call fcn.00694ff9
mov eax, dword [ebx + 0x478]
mov ecx, dword [ebx + 0x474]
mov edi, dword [esp + 0x40]
add esp, 0x10
cmp ecx, eax
jne 0x5cbdc6
test eax, eax
je 0x5cbd6f
add eax, eax
jmp 0x5cbd74
mov eax, 0x10
mov esi, dword [ebx + 0x470]
lea ecx, [eax*4]
push ecx
mov dword [ebx + 0x478], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x474]
mov dword [ebx + 0x470], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cbdb9
mov ecx, dword [esi + eax*4]
mov edx, dword [ebx + 0x470]
mov dword [edx + eax*4], ecx
mov ecx, dword [ebx + 0x474]
inc eax
cmp eax, ecx
jl 0x5cbda2
test esi, esi
je 0x5cbdc6
push esi
call fcn.00693d31
add esp, 4
mov edx, dword [ebx + 0x474]
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0x470]
push ecx
mov dword [eax + edx*4], edi
mov esi, dword [ebx + 0x474]
push 1
lea edx, [esp + 0x160]
push 0x40
inc esi
push edx
mov dword [ebx + 0x474], esi
call fcn.00694ff9
mov eax, dword [ebx + 0x454]
mov ecx, 0x10
lea esi, [esp + 0x168]
lea edi, [esp + 0xe8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x450]
add esp, 0x10
cmp ecx, eax
jne 0x5cbe98
test eax, eax
je 0x5cbe2c
add eax, eax
jmp 0x5cbe31
mov eax, 0x10
mov ecx, dword [ebx + 0x44c]
mov dword [ebx + 0x454], eax
shl eax, 6
push eax
mov dword [esp + 0x10], ecx
call fcn.0069197a
mov dword [ebx + 0x44c], eax
mov eax, dword [ebx + 0x450]
add esp, 4
xor edx, edx
test eax, eax
jle 0x5cbe85
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edi, dword [ebx + 0x44c]
lea esi, [eax + ecx]
add edi, eax
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x450]
inc edx
add eax, 0x40
cmp edx, ecx
jl 0x5cbe61
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5cbe98
mov edx, eax
push edx
call fcn.00693d31
add esp, 4
mov edi, dword [ebx + 0x450]
mov esi, dword [ebx + 0x44c]
mov eax, dword [esp + 0x14]
shl edi, 6
add edi, esi
push eax
mov ecx, 0x10
lea esi, [esp + 0xdc]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx + 0x450]
push 1
lea ecx, [esp + 0x60]
inc edx
push 4
push ecx
mov dword [ebx + 0x450], edx
call fcn.00694ff9
mov eax, dword [ebx + 0x460]
mov ecx, dword [ebx + 0x45c]
mov edi, dword [esp + 0x68]
add esp, 0x10
cmp ecx, eax
jne 0x5cbf54
test eax, eax
je 0x5cbefa
add eax, eax
jmp 0x5cbeff
mov eax, 0x10
mov esi, dword [ebx + 0x458]
lea edx, [eax*4]
push edx
mov dword [ebx + 0x460], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x45c]
mov dword [ebx + 0x458], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cbf47
lea ecx, [ecx]
mov ecx, dword [ebx + 0x458]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x45c]
inc eax
cmp eax, ecx
jl 0x5cbf30
test esi, esi
je 0x5cbf54
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x45c]
mov ecx, dword [ebx + 0x458]
mov dword [ecx + eax*4], edi
inc dword [ebx + 0x45c]
mov edx, dword [esp + 0x14]
push edx
push 1
lea eax, [esp + 0x58]
push 4
push eax
call fcn.00694ff9
mov eax, dword [ebx + 0x46c]
mov ecx, dword [ebx + 0x468]
mov edi, dword [esp + 0x60]
add esp, 0x10
cmp ecx, eax
jne 0x5cbff6
test eax, eax
je 0x5cbf9f
add eax, eax
jmp 0x5cbfa4
mov eax, 0x10
mov esi, dword [ebx + 0x464]
lea ecx, [eax*4]
push ecx
mov dword [ebx + 0x46c], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x468]
mov dword [ebx + 0x464], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cbfe9
mov ecx, dword [esi + eax*4]
mov edx, dword [ebx + 0x464]
mov dword [edx + eax*4], ecx
mov ecx, dword [ebx + 0x468]
inc eax
cmp eax, ecx
jl 0x5cbfd2
test esi, esi
je 0x5cbff6
push esi
call fcn.00693d31
add esp, 4
mov edx, dword [ebx + 0x468]
mov eax, dword [ebx + 0x464]
mov dword [eax + edx*4], edi
mov esi, dword [ebx + 0x468]
mov eax, dword [esp + 0x18]
inc esi
mov dword [ebx + 0x468], esi
mov ecx, dword [esp + 0x10]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x5cbc90
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x16d4]
cmp dword [esi + 0x16d0], eax
jne 0x5cc0a4
test eax, eax
je 0x5cc045
add eax, eax
jmp 0x5cc04a
mov eax, 0x10
mov edi, dword [esi + 0x16cc]
lea ecx, [eax*4]
push ecx
mov dword [esi + 0x16d4], eax
call fcn.0069197a
mov ecx, dword [esi + 0x16d0]
mov dword [esi + 0x16cc], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cc097
jmp 0x5cc080
mov ecx, dword [edi + eax*4]
mov edx, dword [esi + 0x16cc]
mov dword [edx + eax*4], ecx
mov ecx, dword [esi + 0x16d0]
inc eax
cmp eax, ecx
jl 0x5cc080
test edi, edi
je 0x5cc0a4
push edi
call fcn.00693d31
add esp, 4
mov edx, dword [esi + 0x16d0]
mov eax, dword [esi + 0x16cc]
mov dword [eax + edx*4], ebx
mov edi, dword [esi + 0x16d0]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
inc edi
inc eax
cmp eax, ecx
mov dword [esi + 0x16d0], edi
mov dword [esp + 0x1c], eax
jl 0x5cb7c2
mov ecx, dword [esp + 0x14]
push ecx
push 1
lea edx, [esp + 0x68]
push 4
xor esi, esi
push edx
mov dword [esp + 0x70], esi
call fcn.00694ff9
mov eax, dword [esp + 0x70]
add esp, 0x10
cmp eax, esi
mov dword [esp + 0xc], esi
jle 0x5cc429
push 0x30
call fcn.006918d6
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x54c], 7
je 0x5cc129
mov ecx, eax
call fcn.0061e8d0
mov esi, eax
jmp 0x5cc12b
xor esi, esi
mov edi, dword [esp + 0x14]
push edi
push 1
lea eax, [esi + 4]
push 4
push eax
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push edi
push 1
lea eax, [esi + 8]
push 4
push eax
call fcn.00694ff9
push edi
push 1
lea eax, [esp + 0x50]
push 4
push eax
call fcn.00694ff9
mov eax, dword [esp + 0x58]
add esp, 0x30
test eax, eax
mov dword [esp + 0x18], 0
jle 0x5cc343
lea esp, [esp]
push edi
push 1
lea ecx, [esp + 0x24]
push 1
push ecx
call fcn.00694ff9
push edi
push 1
lea edx, [esp + 0x3a]
push 1
push edx
call fcn.00694ff9
push edi
push 1
lea eax, [esp + 0x4b]
push 1
push eax
call fcn.00694ff9
mov edx, dword [esi + 0x28]
add esp, 0x30
xor cl, cl
xor eax, eax
test edx, edx
jle 0x5cc208
jmp 0x5cc1c0
mov edx, dword [esi + 0xc]
mov dl, byte [eax + edx]
cmp dl, byte [esp + 0x22]
jne 0x5cc1f8
mov edx, dword [esi + 0x18]
mov dl, byte [eax + edx]
cmp dl, byte [esp + 0x23]
jne 0x5cc1f8
mov ecx, dword [esi + 0x24]
mov dl, byte [esp + 0x1c]
mov byte [eax + ecx], dl
mov ecx, dword [esi + 0xc]
mov dl, byte [esp + 0x22]
mov byte [eax + ecx], dl
mov ecx, dword [esi + 0x18]
mov dl, byte [esp + 0x23]
mov byte [eax + ecx], dl
mov cl, 1
mov edx, dword [esi + 0x28]
inc eax
cmp eax, edx
jl 0x5cc1c0
test cl, cl
jne 0x5cc32e
mov eax, dword [esi + 0x2c]
cmp dword [esi + 0x28], eax
mov bl, byte [esp + 0x1c]
jne 0x5cc25e
test eax, eax
je 0x5cc21c
add eax, eax
jmp 0x5cc221
mov eax, 0x10
mov edi, dword [esi + 0x24]
push eax
mov dword [esi + 0x2c], eax
call fcn.0069197a
mov ecx, dword [esi + 0x28]
mov dword [esi + 0x24], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cc251
lea esp, [esp]
mov ecx, dword [esi + 0x24]
mov dl, byte [eax + edi]
mov byte [eax + ecx], dl
mov ecx, dword [esi + 0x28]
inc eax
cmp eax, ecx
jl 0x5cc240
test edi, edi
je 0x5cc25e
push edi
call fcn.00693d31
add esp, 4
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x24]
mov byte [eax + ecx], bl
inc dword [esi + 0x28]
mov eax, dword [esi + 0x14]
cmp dword [esi + 0x10], eax
mov bl, byte [esp + 0x22]
jne 0x5cc2be
test eax, eax
je 0x5cc27e
add eax, eax
jmp 0x5cc283
mov eax, 0x10
mov edi, dword [esi + 0xc]
push eax
mov dword [esi + 0x14], eax
call fcn.0069197a
mov ecx, dword [esi + 0x10]
mov dword [esi + 0xc], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cc2b1
mov edi, edi
mov cl, byte [eax + edi]
mov edx, dword [esi + 0xc]
mov byte [eax + edx], cl
mov ecx, dword [esi + 0x10]
inc eax
cmp eax, ecx
jl 0x5cc2a0
test edi, edi
je 0x5cc2be
push edi
call fcn.00693d31
add esp, 4
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0xc]
mov byte [edx + eax], bl
inc dword [esi + 0x10]
mov eax, dword [esi + 0x20]
cmp dword [esi + 0x1c], eax
mov bl, byte [esp + 0x23]
jne 0x5cc31e
test eax, eax
je 0x5cc2de
add eax, eax
jmp 0x5cc2e3
mov eax, 0x10
mov edi, dword [esi + 0x18]
push eax
mov dword [esi + 0x20], eax
call fcn.0069197a
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x18], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cc311
mov edi, edi
mov ecx, dword [esi + 0x18]
mov dl, byte [eax + edi]
mov byte [eax + ecx], dl
mov ecx, dword [esi + 0x1c]
inc eax
cmp eax, ecx
jl 0x5cc300
test edi, edi
je 0x5cc31e
push edi
call fcn.00693d31
add esp, 4
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x18]
mov edi, dword [esp + 0x14]
mov byte [eax + ecx], bl
inc dword [esi + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x5cc180
mov ebx, dword [esi + 4]
mov eax, dword [esi + 8]
imul ebx, ebx, 0xb
add ebx, eax
js 0x5cc40a
cmp ebx, 0x90
jge 0x5cc40a
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0x16a4]
cmp dword [ecx + 0x16a0], eax
jne 0x5cc3e8
test eax, eax
je 0x5cc37e
add eax, eax
jmp 0x5cc383
mov eax, 0x10
mov ecx, dword [esp + 0x2c]
mov edi, dword [ecx + 0x169c]
lea edx, [eax*4]
push edx
mov dword [ecx + 0x16a4], eax
call fcn.0069197a
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0x16a0]
mov dword [ecx + 0x169c], eax
add esp, 4
xor eax, eax
test edx, edx
jle 0x5cc3db
lea esp, [esp]
mov edx, dword [edi + eax*4]
mov ecx, dword [ecx + 0x169c]
mov dword [ecx + eax*4], edx
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x16a0]
inc eax
cmp eax, edx
jl 0x5cc3c0
test edi, edi
je 0x5cc3e8
push edi
call fcn.00693d31
add esp, 4
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x16a0]
mov edx, dword [eax + 0x169c]
mov dword [edx + ecx*4], esi
inc dword [eax + 0x16a0]
mov dword [eax + ebx*4 + 0x484], esi
jmp 0x5cc412
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
inc eax
cmp eax, ecx
mov dword [esp + 0xc], eax
jl 0x5cc101
xor esi, esi
mov ecx, dword [esp + 0x14]
push ecx
push 1
lea edx, [esp + 0x40]
push 4
push edx
mov dword [esp + 0x48], esi
call fcn.00694ff9
mov eax, dword [esp + 0x48]
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x18], esi
jle 0x5cc857
push 0x48
call fcn.006918d6
add esp, 4
mov dword [esp + 0x30], eax
xor edi, edi
cmp eax, edi
mov dword [esp + 0x54c], 8
je 0x5cc47d
mov ecx, eax
call fcn.0061ea50
mov ebx, eax
jmp 0x5cc47f
xor ebx, ebx
mov esi, dword [esp + 0x14]
push esi
push 1
lea eax, [ebx + 0x10]
push 4
push eax
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push esi
push 1
lea eax, [ebx + 0x14]
push 4
push eax
call fcn.00694ff9
push esi
push 1
lea eax, [esp + 0x38]
push 4
push eax
mov dword [esp + 0x40], edi
call fcn.00694ff9
mov eax, dword [esp + 0x40]
add esp, 0x30
cmp eax, edi
mov dword [esp + 0x1c], edi
jle 0x5cc784
mov esi, dword [esp + 0x14]
push esi
push 1
lea ecx, [esp + 0x2c]
push 4
push ecx
call fcn.00694ff9
push pe_nt_image_headers32
call fcn.0069197a
push esi
push 1
push pe_nt_image_headers32
push eax
mov dword [esp + 0x54], eax
call fcn.00694ff9
push esi
push 1
lea edx, [esp + 0x104]
push 0x40
push edx
call fcn.00694ff9
push esi
push 1
lea eax, [esp + 0x5f]
push 1
push eax
call fcn.00694ff9
add esp, 0x44
push esi
push 1
lea ecx, [esp + 0x2a]
push 1
push ecx
call fcn.00694ff9
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x1c]
mov edi, dword [esp + 0x34]
add esp, 0x10
cmp ecx, eax
jne 0x5cc594
test eax, eax
je 0x5cc54f
add eax, eax
jmp 0x5cc554
mov eax, 0x10
mov esi, dword [ebx + 0x18]
lea edx, [eax*4]
push edx
mov dword [ebx + 0x20], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x1c]
mov dword [ebx + 0x18], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cc587
mov ecx, dword [ebx + 0x18]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x1c]
inc eax
cmp eax, ecx
jl 0x5cc576
test esi, esi
je 0x5cc594
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x18]
mov dword [ecx + eax*4], edi
inc dword [ebx + 0x1c]
mov eax, dword [ebx + 0x2c]
cmp dword [ebx + 0x28], eax
jne 0x5cc5fe
test eax, eax
je 0x5cc5b4
add eax, eax
jmp 0x5cc5b9
mov eax, 0x10
mov esi, dword [ebx + 0x24]
lea edx, [eax*4]
push edx
mov dword [ebx + 0x2c], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x28]
mov dword [ebx + 0x24], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cc5f1
jmp 0x5cc5e0
mov ecx, dword [ebx + 0x24]
mov edx, dword [esi + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [ebx + 0x28]
inc eax
cmp eax, ecx
jl 0x5cc5e0
test esi, esi
je 0x5cc5fe
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x24]
mov edx, dword [esp + 0x30]
mov dword [ecx + eax*4], edx
inc dword [ebx + 0x28]
mov eax, dword [ebx + 0xc]
mov ecx, 0x10
lea esi, [esp + 0xd8]
lea edi, [esp + 0x158]
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 8], eax
jne 0x5cc691
test eax, eax
je 0x5cc637
add eax, eax
jmp 0x5cc63c
mov eax, 0x10
mov ecx, dword [ebx + 4]
mov dword [ebx + 0xc], eax
shl eax, 6
push eax
mov dword [esp + 0x10], ecx
call fcn.0069197a
mov dword [ebx + 4], eax
mov eax, dword [ebx + 8]
add esp, 4
xor edx, edx
test eax, eax
jle 0x5cc67e
xor eax, eax
mov ecx, dword [esp + 0xc]
mov edi, dword [ebx + 4]
lea esi, [eax + ecx]
add edi, eax
mov ecx, 0x10
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 8]
inc edx
add eax, 0x40
cmp edx, ecx
jl 0x5cc660
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5cc691
mov edx, eax
push edx
call fcn.00693d31
add esp, 4
mov edi, dword [ebx + 8]
mov esi, dword [ebx + 4]
shl edi, 6
add edi, esi
mov ecx, 0x10
lea esi, [esp + 0x158]
rep movsd dword es:[edi], dword [esi]
inc dword [ebx + 8]
mov eax, dword [ebx + 0x44]
cmp dword [ebx + 0x40], eax
jne 0x5cc6ff
test eax, eax
je 0x5cc6c1
add eax, eax
jmp 0x5cc6c6
mov eax, 0x10
mov esi, dword [ebx + 0x3c]
push eax
mov dword [ebx + 0x44], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x40]
mov dword [ebx + 0x3c], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cc6f2
mov ecx, dword [ebx + 0x3c]
mov dl, byte [eax + esi]
mov byte [eax + ecx], dl
mov ecx, dword [ebx + 0x40]
inc eax
cmp eax, ecx
jl 0x5cc6e1
test esi, esi
je 0x5cc6ff
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x3c]
mov byte [eax + ecx], 1
inc dword [ebx + 0x40]
mov eax, dword [ebx + 0x38]
cmp dword [ebx + 0x34], eax
jne 0x5cc75e
test eax, eax
je 0x5cc720
add eax, eax
jmp 0x5cc725
mov eax, 0x10
mov esi, dword [ebx + 0x30]
push eax
mov dword [ebx + 0x38], eax
call fcn.0069197a
mov ecx, dword [ebx + 0x34]
mov dword [ebx + 0x30], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cc751
mov cl, byte [eax + esi]
mov edx, dword [ebx + 0x30]
mov byte [eax + edx], cl
mov ecx, dword [ebx + 0x34]
inc eax
cmp eax, ecx
jl 0x5cc740
test esi, esi
je 0x5cc75e
push esi
call fcn.00693d31
add esp, 4
mov eax, dword [ebx + 0x34]
mov edx, dword [ebx + 0x30]
mov byte [edx + eax], 1
mov esi, dword [ebx + 0x34]
mov eax, dword [esp + 0x1c]
inc esi
mov dword [ebx + 0x34], esi
mov ecx, dword [esp + 0x10]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x5cc4d0
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
imul eax, eax, 0xb
add eax, ecx
mov dword [esp + 0x1c], eax
js 0x5cc83a
cmp eax, 0x90
jge 0x5cc83a
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 0x1698]
cmp dword [esi + 0x1694], ecx
jne 0x5cc81c
test ecx, ecx
lea eax, [ecx + ecx]
jne 0x5cc7c6
mov eax, 0x10
mov edi, dword [esi + 0x1690]
lea ecx, [eax*4]
push ecx
mov dword [esi + 0x1698], eax
call fcn.0069197a
mov ecx, dword [esi + 0x1694]
mov dword [esi + 0x1690], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cc80b
mov ecx, dword [edi + eax*4]
mov edx, dword [esi + 0x1690]
mov dword [edx + eax*4], ecx
mov ecx, dword [esi + 0x1694]
inc eax
cmp eax, ecx
jl 0x5cc7f4
test edi, edi
je 0x5cc818
push edi
call fcn.00693d31
add esp, 4
mov eax, dword [esp + 0x1c]
mov edx, dword [esi + 0x1694]
mov ecx, dword [esi + 0x1690]
mov dword [ecx + edx*4], ebx
inc dword [esi + 0x1694]
mov dword [esi + eax*4 + 0x244], ebx
jmp 0x5cc842
mov edx, dword [ebx]
push 1
mov ecx, ebx
call dword [edx]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x5cc453
mov eax, dword [esp + 0x14]
push eax
push 1
lea ecx, [esp + 0x4c]
push 4
xor esi, esi
push ecx
mov dword [esp + 0x54], esi
call fcn.00694ff9
mov eax, dword [esp + 0x54]
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x28], esi
jle 0x5ccb8c
push 0x38
call fcn.006918d6
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x54c], 9
je 0x5cc8ab
mov ecx, eax
call fcn.0061eb90
mov esi, eax
jmp 0x5cc8ad
xor esi, esi
mov edi, dword [esp + 0x14]
push edi
push 1
lea eax, [esi + 8]
push 4
push eax
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push edi
push 1
lea eax, [esi + 0xc]
push 4
push eax
call fcn.00694ff9
push edi
push 1
lea edx, [esp + 0x40]
push 4
push edx
call fcn.00694ff9
mov eax, dword [esp + 0x48]
add esp, 0x30
test eax, eax
mov dword [esp + 0x1c], 0
jle 0x5ccaad
lea edi, [esi + 0x10]
lea ebx, [esi + 0x1c]
mov eax, dword [esp + 0x14]
push eax
push 1
lea ecx, [esp + 0x88]
push 0xc
push ecx
call fcn.00694ff9
mov edx, dword [esp + 0x24]
push edx
push 1
lea eax, [esp + 0xa4]
push 0xc
push eax
call fcn.00694ff9
push pe_nt_image_headers32
call fcn.0069197a
mov ecx, dword [esp + 0x38]
push ecx
push 1
push pe_nt_image_headers32
push eax
mov dword [esp + 0x58], eax
call fcn.00694ff9
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xac], eax
mov eax, dword [edi + 8]
mov dword [esp + 0xb0], ecx
mov ecx, dword [edi + 4]
add esp, 0x34
cmp ecx, eax
mov dword [esp + 0x74], edx
jne 0x5cc999
test eax, eax
je 0x5cc98c
add eax, eax
jmp 0x5cc991
mov eax, 0x10
push eax
mov ecx, edi
call fcn.0059d7c0
mov eax, dword [edi + 4]
lea edx, [eax + eax*2]
mov eax, dword [edi]
lea ecx, [eax + edx*4]
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x78]
mov dword [ecx], edx
mov edx, dword [esp + 0x7c]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
inc dword [edi + 4]
mov eax, dword [esi + 0x30]
cmp dword [esi + 0x2c], eax
jne 0x5cca26
test eax, eax
je 0x5cc9cf
add eax, eax
jmp 0x5cc9d4
mov eax, 0x10
mov ecx, dword [esi + 0x28]
lea edx, [eax*4]
push edx
mov dword [esp + 0x10], ecx
mov dword [esi + 0x30], eax
call fcn.0069197a
mov ecx, dword [esi + 0x2c]
mov dword [esi + 0x28], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5cca15
lea ebx, [ebx]
mov edx, dword [esp + 0xc]
mov ecx, dword [esi + 0x28]
mov edx, dword [edx + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [esi + 0x2c]
inc eax
cmp eax, ecx
jl 0x5cca00
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5cca26
push eax
call fcn.00693d31
add esp, 4
mov ecx, dword [esi + 0x2c]
mov edx, dword [esi + 0x28]
mov eax, dword [esp + 0x24]
mov dword [edx + ecx*4], eax
inc dword [esi + 0x2c]
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 8]
cmp ecx, eax
mov dword [esp + 0x6c], edx
jne 0x5cca76
test eax, eax
je 0x5cca69
add eax, eax
jmp 0x5cca6e
mov eax, 0x10
push eax
mov ecx, ebx
call fcn.0059d7c0
mov eax, dword [ebx + 4]
mov edx, dword [ebx]
lea ecx, [eax + eax*2]
lea eax, [edx + ecx*4]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
inc dword [ebx + 4]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x5cc904
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
imul ecx, ecx, 0xb
add ecx, eax
mov dword [esp + 0x1c], ecx
js 0x5ccb6d
cmp ecx, 0x90
jge 0x5ccb6d
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x16ec]
cmp dword [edx + 0x16e8], eax
jne 0x5ccb4b
test eax, eax
je 0x5ccaec
add eax, eax
jmp 0x5ccaf1
mov eax, 0x10
mov edi, dword [esp + 0x2c]
mov ebx, dword [edi + 0x16e4]
lea edx, [eax*4]
push edx
mov dword [edi + 0x16ec], eax
call fcn.0069197a
mov ecx, dword [edi + 0x16e8]
mov dword [edi + 0x16e4], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5ccb3a
mov ecx, dword [edi + 0x16e4]
mov edx, dword [ebx + eax*4]
mov dword [ecx + eax*4], edx
mov ecx, dword [edi + 0x16e8]
inc eax
cmp eax, ecx
jl 0x5ccb23
test ebx, ebx
je 0x5ccb47
push ebx
call fcn.00693d31
add esp, 4
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x16e8]
mov edi, dword [eax + 0x16e4]
mov dword [edi + edx*4], esi
inc dword [eax + 0x16e8]
mov dword [eax + ecx*4 + 0x1204], esi
jmp 0x5ccb75
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
inc eax
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x5cc883
xor esi, esi
mov ecx, dword [esp + 0x14]
push ecx
push 1
lea edx, [esp + 0x5c]
push 4
push edx
mov dword [esp + 0x64], esi
call fcn.00694ff9
mov eax, dword [esp + 0x64]
add esp, 0x10
cmp eax, esi
mov dword [esp + 0x28], esi
jle 0x5cce01
push 0x18
call fcn.006918d6
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x54c], 0xa
je 0x5ccbde
mov ecx, eax
call fcn.0061ec40
mov edi, eax
jmp 0x5ccbe0
xor edi, edi
mov esi, dword [esp + 0x14]
push esi
push 1
lea eax, [edi + 4]
push 4
push eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push esi
push 1
lea eax, [edi + 8]
push 4
push eax
call fcn.00694ff9
push esi
push 1
lea eax, [esp + 0x40]
push 4
push eax
call fcn.00694ff9
mov eax, dword [esp + 0x48]
add esp, 0x30
test eax, eax
mov dword [esp + 0x1c], 0
jle 0x5ccd2b
push 0x198
call fcn.006918d6
mov esi, dword [esp + 0x18]
push esi
mov ebx, eax
push 1
lea ecx, [ebx + 0x34]
push 4
push ecx
call fcn.00694ff9
push esi
push 1
lea edx, [ebx + 0x38]
push 0xc
push edx
call fcn.00694ff9
push esi
push 1
lea eax, [ebx + 0x164]
push 0x32
push eax
call fcn.00694ff9
push esi
push 1
lea ecx, [ebx + 0x4c]
push 0xc8
push ecx
call fcn.00694ff9
add esp, 0x44
push esi
push 1
lea edx, [ebx + 0x114]
push 0x50
push edx
call fcn.00694ff9
push esi
push 1
lea eax, [ebx + 0x44]
push 8
push eax
call fcn.00694ff9
mov ecx, 0x66
mov esi, ebx
lea edi, [esp + 0x2c0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x10]
add ecx, 0xc
add esp, 0x20
cmp edx, eax
jne 0x5ccce3
test eax, eax
je 0x5cccd1
add eax, eax
jmp 0x5cccd6
mov eax, 0x10
mov ecx, dword [esp + 0x10]
push eax
add ecx, 0xc
call fcn.005c8db0
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
imul edi, edi, 0x198
add eax, 0xc
add edi, edx
mov ecx, 0x66
lea esi, [esp + 0x2a0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 4]
inc ecx
push ebx
mov dword [eax + 4], ecx
call fcn.00692701
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
add esp, 4
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x5ccc35
mov ecx, dword [esp + 0x10]
mov ebx, dword [ecx + 4]
mov eax, dword [ecx + 8]
imul ebx, ebx, 0xb
add ebx, eax
js 0x5ccde6
cmp ebx, 0x90
jge 0x5ccde6
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0x1ec8]
cmp dword [esi + 0x1ec4], eax
jne 0x5ccdc8
test eax, eax
je 0x5ccd6a
add eax, eax
jmp 0x5ccd6f
mov eax, 0x10
mov edi, dword [esi + 0x1ec0]
lea ecx, [eax*4]
push ecx
mov dword [esi + 0x1ec8], eax
call fcn.0069197a
mov ecx, dword [esi + 0x1ec4]
mov dword [esi + 0x1ec0], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5ccdb7
lea ecx, [ecx]
mov ecx, dword [edi + eax*4]
mov edx, dword [esi + 0x1ec0]
mov dword [edx + eax*4], ecx
mov ecx, dword [esi + 0x1ec4]
inc eax
cmp eax, ecx
jl 0x5ccda0
test edi, edi
je 0x5ccdc4
push edi
call fcn.00693d31
add esp, 4
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x1ec4]
mov eax, dword [esi + 0x1ec0]
mov dword [eax + edx*4], ecx
inc dword [esi + 0x1ec4]
mov dword [esi + ebx*4 + 0x1800], ecx
jmp 0x5ccdec
mov edx, dword [ecx]
push 1
call dword [edx]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x54]
inc eax
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x5ccbb6
mov ebx, dword [esp + 0x14]
test byte [ebx + 0xc], 0x10
jne 0x5cd019
push ebx
push 1
lea eax, [esp + 0x30]
push 4
push eax
call fcn.00694ff9
mov eax, dword [esp + 0x38]
add esp, 0x10
test eax, eax
jle 0x5cd019
cmp eax, 0x64
jge 0x5cd019
test eax, eax
mov dword [esp + 0x18], 0
jle 0x5cd019
mov edi, dword [esp + 0x2c]
lea ebx, [ebx]
push 0x18
call fcn.006918d6
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x54c], 0xb
je 0x5cce7a
mov ecx, eax
call fcn.0061db50
mov dword [esp + 0x10], eax
jmp 0x5cce82
mov dword [esp + 0x10], 0
mov esi, dword [esp + 0x10]
push ebx
push 1
push 4
push esi
mov dword [esp + 0x55c], 0xffffffff
call fcn.00694ff9
push ebx
push 1
lea eax, [esi + 4]
push 4
push eax
call fcn.00694ff9
push ebx
push 1
lea ecx, [esp + 0x44]
push 4
push ecx
call fcn.00694ff9
mov eax, dword [esp + 0x4c]
add esp, 0x30
xor esi, esi
test eax, eax
jle 0x5ccf33
lea ebx, [ebx]
lea ecx, [esp + 0x2a0]
call fcn.0061d120
push ebx
push 1
lea edx, [esp + 0x2a8]
push 0x130
push edx
mov dword [esp + 0x55c], 0xc
call fcn.00694ff9
mov ecx, dword [esp + 0x20]
add esp, 0x10
lea eax, [esp + 0x2a0]
push eax
add ecx, 8
call fcn.005ca6b0
lea ecx, [esp + 0x2a0]
mov dword [esp + 0x54c], 0xffffffff
call fcn.0058bad0
mov eax, dword [esp + 0x1c]
inc esi
cmp esi, eax
jl 0x5cced0
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
imul eax, eax, 0xb
add eax, ecx
mov dword [esp + 0x24], eax
js 0x5ccff4
cmp eax, 0x90
jge 0x5ccff4
mov eax, dword [edi + 0x16f8]
cmp dword [edi + 0x16f4], eax
jne 0x5ccfc7
test eax, eax
je 0x5ccf70
add eax, eax
jmp 0x5ccf75
mov eax, 0x10
mov esi, dword [edi + 0x16f0]
lea ecx, [eax*4]
push ecx
mov dword [edi + 0x16f8], eax
call fcn.0069197a
mov ecx, dword [edi + 0x16f4]
mov dword [edi + 0x16f0], eax
add esp, 4
xor eax, eax
test ecx, ecx
jle 0x5ccfba
mov ecx, dword [esi + eax*4]
mov edx, dword [edi + 0x16f0]
mov dword [edx + eax*4], ecx
mov ecx, dword [edi + 0x16f4]
inc eax
cmp eax, ecx
jl 0x5ccfa3
test esi, esi
je 0x5ccfc7
push esi
call fcn.00693d31
add esp, 4
mov edx, dword [edi + 0x16f4]
mov ecx, dword [edi + 0x16f0]
mov eax, dword [esp + 0x10]
mov dword [ecx + edx*4], eax
mov ecx, dword [edi + 0x16f4]
mov edx, dword [esp + 0x24]
inc ecx
mov dword [edi + 0x16f4], ecx
mov dword [edi + edx*4 + 0x1444], eax
jmp 0x5cd004
mov ecx, esi
call fcn.0061d790
push esi
call fcn.00692701
add esp, 4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x5cce50
push ebx
call fcn.00694b22
mov eax, dword [ebp + 8]
push 0x6eed54
push eax
call fcn.00693f25
push 0x6e9338
push 0
call fcn.00693f25
add esp, 0x14
mov ebx, eax
mov edi, str.one3
mov esi, ebx
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x5cd150
mov edi, str.one10
mov esi, ebx
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x5cd150
mov edi, str.one11
mov esi, ebx
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x5cd150
mov edi, str.one13
mov esi, ebx
mov ecx, 6
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x5cd150
mov edi, str.one15
mov esi, ebx
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x5cd150
mov edi, str.one100
mov esi, ebx
mov ecx, 7
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x5cd150
mov edi, str.one14
mov esi, ebx
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x5cd150
push ebx
push 0x71f858
lea eax, [esp + 0x1a0]
push str._sZ_s.amb
push eax
call fcn.006935d4
add esp, 0x10
call fcn.005d4b31
mov ecx, eax
call fcn.005d4ad1
call fcn.005d4b31
lea ecx, [esp + 0x198]
push ecx
mov ecx, dword [eax + 4]
call fcn.006211d4
push ebx
push 0x71f958
lea edx, [esp + 0x1a0]
push str._sZ_s.bgm
push edx
call fcn.006935d4
add esp, 0x10
call fcn.005d3ace
mov ecx, eax
call fcn.005d4161
call fcn.005d3ace
lea ecx, [esp + 0x198]
push ecx
lea ecx, [eax + 0xc]
call fcn.0061f86b
mov ecx, dword [esp + 0x544]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x53c]
call fcn.00692fc7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4