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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0xf8
mov dword [esp + 0x80], eax
mov edx, dword [0x7de490]
mov dword [esp + 0xb8], edx
mov esi, dword [0x7de494]
mov ebx, dword [0x7de47c]
mov ebp, dword [0x7de480]
mov ecx, dword [0x7de484]
mov dword [esp + 0x48], ecx
mov edx, dword [0x7de474]
mov dword [esp + 0xbc], edx
mov edx, dword [0x7de478]
mov dword [esp + 0x40], edx
cmp ebx, 1
je 0x40d02a
cmp ebx, 2
je 0x40d019
cmp ebx, 3
je 0x40d008
cmp ebx, 4
je 0x40cff7
cmp ebx, 5
je 0x40cfe6
cmp ebx, 6
je 0x40cfd5
cmp ebx, 7
je 0x40cfc4
mov edx, 1
mov dword [esp + 0xe4], edx
mov edx, eax
test edx, edx
jne 0x40bae9
mov eax, esi
call fcn.0040ba0c
mov edx, 0x56e5d8
mov ecx, dword [edx]
mov dword [esp + 0x58], ecx
mov edi, dword [edx + 4]
mov dword [esp + 0x5c], edi
mov ecx, dword [edx + 8]
mov dword [esp + 0x60], ecx
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x64], ecx
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x68], ecx
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x6c], ecx
mov ecx, dword [edx + 0x18]
mov dword [esp + 0x70], ecx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x74], ecx
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x78], ecx
mov edx, dword [edx + 0x24]
mov dword [esp + 0x7c], edx
mov edi, dword [esp + 0xbc]
xor edx, edx
mov byte [esi + 0xa2], 0
test edi, edi
jle 0x40bbb7
xor ecx, ecx
mov eax, 1
lea edx, [eax + eax]
add edx, edx
cmp edi, dword [esp + edx + 0x58]
jg 0x40bb64
inc eax
cmp eax, 0xa
jl 0x40bb4e
add eax, eax
lea edx, [eax + eax]
mov edx, dword [esp + edx + 0x54]
mov eax, dword [0x5957c4]
cmp edx, eax
jle 0x40bb77
test eax, eax
jle 0x40bb77
mov edx, eax
mov eax, dword [0x7de464]
cmp edx, eax
jle 0x40bb86
test eax, eax
jle 0x40bb86
mov edx, eax
cmp edx, ebp
jle 0x40bb90
test ebp, ebp
jle 0x40bb90
mov edx, ebp
sub edi, edx
mov dword [esi + ecx*4 + 0xac], edx
movzx edx, byte [esi + 0xa2]
inc edx
mov byte [esi + 0xa2], dl
movzx ecx, dl
cmp ecx, 0x20
je 0x40cfa4
test edi, edi
jg 0x40bb49
mov edi, dword [esp + 0x40]
mov byte [esi + 0xa3], 0
test edi, edi
jle 0x40cf9d
xor ecx, ecx
mov dword [esp + 0x4c], ebp
mov ebp, dword [esp + 0x48]
mov eax, 1
lea edx, [eax + eax]
add edx, edx
cmp edi, dword [esp + edx + 0x58]
jg 0x40bbef
inc eax
cmp eax, 0xa
jl 0x40bbd9
add eax, eax
lea edx, [eax + eax]
mov edx, dword [esp + edx + 0x54]
mov eax, dword [0x5957c8]
cmp edx, eax
jle 0x40bc02
test eax, eax
jle 0x40bc02
mov edx, eax
mov eax, dword [0x7de468]
cmp edx, eax
jle 0x40bc11
test eax, eax
jle 0x40bc11
mov edx, eax
cmp edx, ebp
jle 0x40bc1b
test ebp, ebp
jle 0x40bc1b
mov edx, ebp
sub edi, edx
mov dword [esi + ecx*4 + 0x12c], edx
movzx ecx, byte [esi + 0xa3]
inc ecx
mov byte [esi + 0xa3], cl
movzx ecx, cl
cmp ecx, 0x20
je 0x40cf70
test edi, edi
jg 0x40bbd4
mov ebp, dword [esp + 0x4c]
movzx edx, byte [esi + 0xa2]
movzx edx, dl
mov dword [esp + 0x90], edx
mov eax, dword [0x5b263c]
test eax, eax
je 0x40cf50
test eax, eax
je 0x40cf31
mov eax, dword [0x5b2640]
test eax, eax
je 0x40cf12
test eax, eax
je 0x40cef3
mov eax, dword [0x5b2644]
test eax, eax
je 0x40ced4
test eax, eax
je 0x40ceb5
mov eax, dword [0x5b2648]
test eax, eax
je 0x40ce96
test eax, eax
je 0x40ce77
mov eax, dword [0x5b264c]
test eax, eax
je 0x40ce58
test eax, eax
je 0x40ce39
mov eax, dword [0x5b2650]
test eax, eax
je 0x40ce1a
test eax, eax
je 0x40cdfb
mov eax, dword [0x5b2654]
test eax, eax
je 0x40cddc
test eax, eax
je 0x40cdbd
mov eax, dword [0x5b2658]
test eax, eax
je 0x40cd9e
test eax, eax
je 0x40cd7f
mov eax, dword [0x5b265c]
test eax, eax
je 0x40cd60
test eax, eax
je 0x40cd41
test ecx, ecx
jle 0x40c7c1
mov edx, 1
mov dword [esp + 0xa4], edx
xor edi, edi
mov dword [esp + 0x54], edi
xor edx, edx
mov dword [esp + 0x98], edx
lea edx, [ecx - 1]
mov eax, dword [esp + 0x90]
lea edi, [eax - 1]
mov dword [esp + 0x84], edi
lea edi, [eax + eax]
add edi, edi
xor eax, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x9c], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0xa0], esi
mov edi, eax
mov esi, dword [esp + 0xa0]
mov eax, dword [esp + 0x98]
mov esi, dword [esi + eax*4 + 0x12c]
mov edx, dword [esp + 0x90]
test edx, edx
jle 0x40cd35
xor ebp, ebp
xor ebx, ebx
mov edx, dword [esp + 0x54]
lea ecx, [edx + esi]
mov eax, dword [esp + 0x40]
sub eax, edx
add eax, edx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xa0]
lea edx, [eax + edi]
mov dword [esp + 0xec], edx
lea edx, [esi - 1]
mov dword [esp + 0xac], edx
xor edx, edx
mov dword [esp + 0xe8], edx
lea eax, [eax + edi + 0x200]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x94], eax
mov dword [esp + 0xdc], esi
mov dword [esp + 0x44], edi
mov edx, dword [esp + 0xe4]
mov esi, dword [esp + 0xa0]
mov esi, dword [esi + ebx*4 + 0xac]
lea edi, [esi + esi]
add edi, edi
mov eax, dword [esp + 0xdc]
imul eax, edi
cmp eax, dword [0x595084]
jle 0x40be53
mov dword [0x595084], eax
push eax
push dword [0x5b263c]
mov dword [esp + 0xec], edx
call fcn.004603e8
mov edx, dword [esp + 0xec]
add esp, 8
mov dword [0x5b263c], eax
test eax, eax
je 0x40c858
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
cmp eax, ecx
je 0x40c054
mov eax, dword [esp + 0x84]
cmp ebx, eax
je 0x40bf37
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xc0]
cmp ecx, eax
jge 0x40c35b
xor eax, eax
mov dword [esp + 0xb4], eax
lea eax, [ebp + ebp]
add eax, eax
mov dword [esp + 0xc4], eax
mov eax, ecx
imul eax, dword [esp + 0xbc]
mov dword [esp + 0xd8], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0xe4], edx
mov ebx, eax
mov ebp, ecx
mov esi, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
mov eax, dword [edx + 0x90]
add eax, dword [esp + 0xc4]
lea edx, [ebx + ebx]
add edx, edx
add eax, edx
mov edx, esi
add edx, dword [0x5b263c]
push edi
push eax
push edx
call dword [0x5b248c]
add esp, 0xc
add esi, edi
add ebx, dword [esp + 0xbc]
inc ebp
mov edx, dword [esp + 0xc0]
cmp ebp, edx
jl 0x40bed2
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
jmp 0x40c35b
mov ecx, dword [esp + 0xbc]
sub ecx, ebp
add ecx, ecx
add ecx, ecx
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0xc0]
cmp ecx, eax
jge 0x40c35b
xor eax, eax
mov dword [esp + 0xb4], eax
mov eax, edi
sub eax, dword [esp + 0xc8]
mov dword [esp + 0xcc], eax
lea eax, [ebp + ebp]
add eax, eax
mov dword [esp + 0xc4], eax
mov eax, ecx
imul eax, dword [esp + 0xbc]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd8], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0xe4], edx
mov ebx, ecx
mov ebp, eax
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xc8]
mov eax, dword [esp + 0xb8]
mov eax, dword [eax + 0x90]
add eax, dword [esp + 0xc4]
lea edx, [ebp + ebp]
add edx, edx
add eax, edx
mov edx, esi
add edx, dword [0x5b263c]
push edi
push eax
push edx
call dword [0x5b248c]
mov edx, dword [0x5b263c]
add edx, edi
add edx, esi
push dword [0x595738]
mov eax, dword [esp + 0xdc]
push eax
push edx
call dword [0x5b2488]
add esp, 0x18
add esi, dword [esp + 0xd0]
add ebp, dword [esp + 0xbc]
inc ebx
mov eax, dword [esp + 0xc0]
cmp ebx, eax
jl 0x40bfca
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
jmp 0x40c35b
mov eax, dword [esp + 0x84]
cmp ebx, eax
je 0x40c1bb
mov eax, dword [esp + 0x54]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xb0]
cmp eax, ecx
jge 0x40c87d
xor eax, eax
mov dword [esp + 0xa8], eax
lea ecx, [ebp + ebp]
add ecx, ecx
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0xcc]
imul eax, dword [esp + 0xbc]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xd8], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0xe4], edx
mov ebx, dword [esp + 0xa8]
mov ebp, eax
mov esi, dword [esp + 0xcc]
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x90]
add ecx, dword [esp + 0xb4]
lea edx, [ebp + ebp]
add edx, edx
add ecx, edx
mov eax, ebx
add eax, dword [0x5b263c]
push edi
push ecx
push eax
call dword [0x5b248c]
add esp, 0xc
add ebx, edi
add ebp, dword [esp + 0xbc]
inc esi
mov eax, dword [esp + 0xb0]
cmp esi, eax
jl 0x40c0d5
mov dword [esp + 0xa8], ebx
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xc0]
cmp ecx, eax
jge 0x40c35b
mov dword [esp + 0xd8], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0xe4], edx
mov ebx, ecx
mov ebp, eax
mov esi, dword [esp + 0xa8]
mov eax, esi
add eax, dword [0x5b263c]
push dword [0x595738]
push edi
push eax
call dword [0x5b2488]
add esp, 0xc
add esi, edi
inc ebx
cmp ebx, ebp
jl 0x40c17a
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
jmp 0x40c35b
mov eax, dword [esp + 0xbc]
sub eax, ebp
add eax, eax
add eax, eax
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xa8], ecx
mov eax, dword [esp + 0xb0]
cmp ecx, eax
jge 0x40cd2a
xor eax, eax
mov dword [esp + 0x50], eax
mov ecx, edi
sub ecx, dword [esp + 0xc8]
mov dword [esp + 0xc4], ecx
lea eax, [ebp + ebp]
add eax, eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xa8]
imul eax, dword [esp + 0xbc]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd8], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0xe4], edx
mov ebx, dword [esp + 0x50]
mov ebp, eax
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0xc8]
mov eax, dword [esp + 0xb8]
mov ecx, dword [eax + 0x90]
add ecx, dword [esp + 0xb4]
lea edx, [ebp + ebp]
add edx, edx
add ecx, edx
mov eax, ebx
add eax, dword [0x5b263c]
push edi
push ecx
push eax
call dword [0x5b248c]
mov edx, dword [0x5b263c]
add edx, edi
add edx, ebx
push dword [0x595738]
mov eax, dword [esp + 0xd4]
push eax
push edx
call dword [0x5b2488]
add esp, 0x18
add ebx, dword [esp + 0xd0]
add ebp, dword [esp + 0xbc]
inc esi
mov eax, dword [esp + 0xb0]
cmp esi, eax
jl 0x40c259
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xc0]
cmp ecx, eax
jge 0x40c35b
mov dword [esp + 0xd8], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0xe4], edx
mov ebx, ecx
mov ebp, eax
mov esi, dword [esp + 0x50]
mov eax, esi
add eax, dword [0x5b263c]
push dword [0x595738]
push edi
push eax
call dword [0x5b2488]
add esp, 0xc
add esi, edi
inc ebx
cmp ebx, ebp
jl 0x40c31f
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov edx, dword [esp + 0xe4]
movsx eax, byte [0x7dda78]
test eax, eax
je 0x40c37f
movsx eax, byte [0x5956e0]
test eax, eax
je 0x40c378
mov ecx, 0x100005
jmp 0x40c384
mov ecx, 5
jmp 0x40c384
mov ecx, 5
movsx eax, byte [0x7dda84]
test eax, eax
jne 0x40c3fb
mov eax, dword [esp + 0x80]
test eax, eax
je 0x40c3a4
mov edx, 1
jmp 0x40c4cd
mov dword [esp + 0xa8], ecx
mov ecx, dword [0x7de408]
mov eax, dword [ecx]
xor edi, edi
push edi
mov edx, dword [esp + 0x98]
push edx
push edi
push dword [0x7de400]
push edi
push 1
mov edx, dword [esp + 0xf4]
push edx
push esi
push ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xcc], ecx
call dword [eax + 0x5c]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xa4], eax
mov edx, 1
jmp 0x40c4cd
cmp edx, 1
jne 0x40c469
mov eax, dword [esp + 0x80]
test eax, eax
je 0x40c415
mov edx, 2
jmp 0x40c4cd
mov dword [esp + 0xa8], ecx
mov ecx, dword [0x7de408]
mov eax, dword [ecx]
xor edi, edi
push edi
mov edx, dword [esp + 0x98]
push edx
push edi
push dword [0x7de400]
push edi
push 2
mov edx, dword [esp + 0xf4]
push edx
push esi
push ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xcc], ecx
call dword [eax + 0x5c]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xa4], eax
mov edx, 2
jmp 0x40c4cd
mov eax, dword [esp + 0x80]
test eax, eax
je 0x40c47b
mov edx, 4
jmp 0x40c4cd
mov dword [esp + 0xa8], ecx
mov ecx, dword [0x7de408]
mov eax, dword [ecx]
xor edi, edi
push edi
mov edx, dword [esp + 0x98]
push edx
push edi
push dword [0x7de400]
push edi
push 4
mov edx, dword [esp + 0xf4]
push edx
push esi
push ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0xcc], ecx
call dword [eax + 0x5c]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0xa4], eax
mov edx, 4
mov eax, dword [esp + 0xa4]
test eax, eax
jl 0x40ccfc
xor eax, eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xe0], eax
mov eax, dword [0x5b263c]
test edx, edx
jbe 0x40c759
xor edi, edi
mov dword [esp + 0xcc], eax
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xd8], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0xe4], edx
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0xe8]
mov ebp, dword [eax + edx + 0x200]
mov esi, dword [ebp]
lea ebx, [esp + 0xe0]
push ebx
push edi
push ebp
call dword [esi + 0x48]
test eax, eax
jne 0x40c71d
mov eax, dword [0x7de408]
mov ecx, edi
mov ebp, dword [esp + 0xd8]
sar ebp, cl
mov ecx, edi
mov ebx, dword [esp + 0xdc]
sar ebx, cl
mov esi, dword [eax]
lea edx, [esp + 0xd4]
push 0
push edx
push 2
push dword [0x5957c0]
push ebx
push ebp
push eax
call dword [esi + 0x90]
test eax, eax
jne 0x40c709
cmp edi, 1
je 0x40cb72
cmp edi, 2
je 0x40cb13
cmp edi, 3
je 0x40caad
cmp edi, 4
je 0x40ca47
cmp edi, 5
je 0x40c9e1
cmp edi, 6
je 0x40c97b
cmp edi, 7
je 0x40c91e
cmp edi, 8
je 0x40c8c8
mov esi, dword [esp + 0xd4]
mov ecx, dword [esi]
lea edx, [esp + 0xf0]
xor eax, eax
push eax
push eax
push edx
push esi
call dword [ecx + 0x34]
test eax, eax
jl 0x40c8b4
test ebx, ebx
jle 0x40c652
xor edx, edx
add ebp, ebp
add ebp, ebp
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xd0], esi
mov dword [esp + 0xc8], edi
mov esi, eax
mov edi, ebx
mov ebx, edx
mov ecx, ebx
imul ecx, dword [esp + 0xf0]
add ecx, dword [esp + 0xf4]
push ebp
push esi
push ecx
call dword [0x5b248c]
add esp, 0xc
add esi, ebp
inc ebx
cmp ebx, edi
jl 0x40c620
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0xc8]
mov eax, dword [esi]
push esi
call dword [eax + 0x38]
test eax, eax
jl 0x40c88b
movsx eax, byte [0x7dda78]
test eax, eax
jne 0x40c6a8
mov edx, dword [0x7de408]
mov ebx, dword [edx]
xor eax, eax
push eax
push dword [esp + 0xe4]
push eax
push dword [esp + 0xe0]
push edx
call dword [ebx + 0x78]
mov dword [esp + 0xa4], eax
test eax, eax
je 0x40c6cf
push 0x7e748c
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
jmp 0x40c6cf
xor edx, edx
push dword [0x595738]
mov eax, dword [esp + 0xac]
push eax
push edx
push edx
push dword [esp + 0xe4]
push edx
push edx
push dword [esp + 0xfc]
call fcn.004be3f5
mov eax, dword [esp + 0xe0]
test eax, eax
je 0x40c6e0
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0xe0], 0
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x40c6fc
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0xd4], 0
jmp 0x40c732
push 0x7e73f0
push 0x7e7424
call fcn.0040d1a0
add esp, 8
jmp 0x40c732
push edi
push 2
push 0x7e74e0
push 0x7e38a0
call fcn.0043a6b8
add esp, 0x10
inc edi
mov eax, dword [esp + 0xe4]
cmp edi, eax
jb 0x40c525
mov esi, dword [esp + 0xd8]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov edx, eax
lea ebp, [ebp + esi]
add dword [esp + 0xe8], 4
add dword [esp + 0x94], 4
inc ebx
mov eax, dword [esp + 0x90]
cmp ebx, eax
jl 0x40bdff
mov dword [esp + 0xe4], edx
mov ecx, dword [esp + 0xc0]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x54], ecx
add edi, dword [esp + 0x38]
mov eax, dword [esp + 0x98]
inc eax
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x3c]
cmp eax, edx
jl 0x40bd76
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0xa0]
fld dword [0x7de46c]
fnstcw word [esp + 0x28]
movzx eax, word [esp + 0x28]
or eax, 0xc00
mov dword [esp + 0x30], eax
fldcw word [esp + 0x30]
fistp qword [esi + 0x1d0]
fldcw word [esp + 0x28]
fld dword [0x7de470]
fnstcw word [esp + 0x28]
movzx eax, word [esp + 0x28]
or eax, 0xc00
mov dword [esp + 0x30], eax
fldcw word [esp + 0x30]
fistp qword [esi + 0x1d8]
fldcw word [esp + 0x28]
mov edx, dword [0x7de474]
mov dword [esi + 0x70], edx
mov ecx, dword [0x7de478]
mov dword [esi + 0x74], ecx
mov byte [esi + 0xa1], bl
mov dword [esi + 0xa4], ebp
mov ebx, dword [esp + 0x48]
mov dword [esi + 0xa8], ebx
xor eax, eax
mov dword [0x7de474], eax
mov dword [0x7de478], eax
mov dword [0x7de46c], eax
mov dword [0x7de470], eax
xor eax, eax
add esp, 0xf8
pop ebx
pop ebp
pop esi
pop edi
ret
push 0x7e764c
push 0x7e38a0
mov dword [esp + 0xec], edx
call fcn.0040d1a0
mov edx, dword [esp + 0xec]
add esp, 8
jmp 0x40be53
xor eax, eax
mov dword [esp + 0xa8], eax
jmp 0x40c13d
push 0x7e7980
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
push 0x7e7788
push 0x7e7424
call fcn.0040d1a0
add esp, 8
jmp 0x40c6eb
push 0x7e796c
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
jmp 0x40c89d
mov eax, dword [0x5b265c]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0xd8]
lea esi, [ecx - 1]
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0xac]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov edx, dword [0x5b263c]
xor ecx, ecx
call fcn.0040d048
jmp 0x40c5da
mov eax, dword [esp + 0xd8]
lea esi, [eax - 1]
mov eax, dword [0x5b2658]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0xac]
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov edx, dword [0x5b263c]
xor ecx, ecx
call fcn.0040d048
jmp 0x40c5da
mov eax, dword [esp + 0xd8]
lea esi, [eax - 1]
mov eax, dword [0x5b2654]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0xac]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov edx, dword [0x5b263c]
xor ecx, ecx
call fcn.0040d048
cmp edi, 7
je 0x40c928
jmp 0x40c5da
mov eax, dword [esp + 0xd8]
lea esi, [eax - 1]
mov eax, dword [0x5b2650]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0xac]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov edx, dword [0x5b263c]
xor ecx, ecx
call fcn.0040d048
cmp edi, 6
je 0x40c985
jmp 0x40c5da
mov eax, dword [esp + 0xd8]
lea esi, [eax - 1]
mov eax, dword [0x5b264c]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0xac]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov edx, dword [0x5b263c]
xor ecx, ecx
call fcn.0040d048
cmp edi, 5
je 0x40c9eb
jmp 0x40c5da
mov eax, dword [esp + 0xd8]
lea esi, [eax - 1]
mov eax, dword [0x5b2648]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0xac]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov edx, dword [0x5b263c]
xor ecx, ecx
call fcn.0040d048
cmp edi, 4
je 0x40ca51
jmp 0x40c5da
mov eax, dword [0x5b2644]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0xd8]
lea esi, [ecx - 1]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], esi
mov edx, dword [esp + 0xac]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebx
mov edx, dword [0x5b263c]
xor ecx, ecx
call fcn.0040d048
cmp edi, 3
je 0x40cab7
jmp 0x40c5da
mov edx, dword [0x5b263c]
mov eax, dword [0x5b2640]
mov dword [esp + 0xcc], eax
mov esi, dword [esp + 0xd8]
lea eax, [esi - 1]
movsx ecx, byte [0x5956f4]
test ecx, ecx
jle 0x40ccf5
mov dword [0x78ece4], 0x2a
xor esi, esi
mov dword [esp + 0xb4], esi
xor esi, esi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xd0], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 0xc8], edi
mov edi, esi
mov esi, dword [esp + 0xb4]
jmp 0x40cbda
mov dword [esp + 0x50], ebp
mov dword [edi + 0x78ece8], 0
mov eax, ebx
cdq
idiv ecx
mov dword [edi + 0x78ecec], eax
mov ebp, dword [esp + 0x50]
xor eax, eax
mov dword [edi + 0x78ecf8], eax
mov dword [edi + 0x78ecfc], eax
mov edx, dword [esp + 0xc4]
mov dword [edi + 0x78ed00], edx
mov ecx, dword [esp + 0xac]
mov dword [edi + 0x78ed04], ecx
mov eax, dword [esp + 0xd8]
mov dword [edi + 0x78ed08], eax
mov eax, dword [esp + 0xdc]
mov dword [edi + 0x78ed0c], eax
mov dword [edi + 0x78ed10], ebp
mov dword [edi + 0x78ed14], ebx
mov eax, dword [esp + 0xcc]
mov dword [edi + 0x78ed18], eax
mov eax, dword [esp + 0xd0]
mov dword [edi + 0x78ed1c], eax
push dword [esi*4 + 0x7906e0]
call dword [0x56e244]
push 0xffffffffffffffff
push dword [esi*4 + 0x7907e0]
call dword [0x56e240]
inc esi
movsx ecx, byte [0x5956f4]
cmp esi, ecx
jge 0x40ccc4
lea eax, [esi + esi]
add eax, eax
sub eax, esi
lea edi, [esi + eax*4]
add edi, edi
add edi, edi
add edi, edi
mov dword [edi + 0x78ece4], 0x2a
test esi, esi
je 0x40cbd6
cmp esi, 1
jne 0x40cbf3
mov eax, ebx
cdq
idiv ecx
mov dword [edi + 0x78ece8], eax
mov dword [edi + 0x78ecec], ebx
jmp 0x40cbf3
mov edi, dword [esp + 0xc8]
test ecx, ecx
jle 0x40c59b
xor esi, esi
push 0xffffffffffffffff
push dword [esi*4 + 0x7908e0]
call dword [0x56e240]
inc esi
movsx eax, byte [0x5956f4]
cmp esi, eax
jl 0x40ccd5
jmp 0x40c59b
jg 0x40ccd3
jmp 0x40c5da
push 0x7e7660
push 0x7e38a0
call fcn.0040d1a0
push 0x7e7760
push 0x7e38a0
call fcn.0043a6b8
mov eax, 0xffffffff
add esp, 0x108
pop ebx
pop ebp
pop esi
pop edi
ret
xor eax, eax
mov dword [esp + 0x50], eax
jmp 0x40c2e9
mov eax, dword [esp + 0x54]
lea ecx, [eax + esi]
jmp 0x40c78f
push 0x7e764c
push 0x7e38a0
mov dword [esp + 0x44], ecx
call fcn.0040d1a0
mov ecx, dword [esp + 0x44]
add esp, 8
jmp 0x40bd14
push 0x100
mov dword [esp + 0x40], ecx
call fcn.0046009c
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [0x5b265c], eax
jmp 0x40bd0c
push 0x7e764c
push 0x7e38a0
mov dword [esp + 0x44], ecx
call fcn.0040d1a0
mov ecx, dword [esp + 0x44]
add esp, 8
jmp 0x40bcff
push 0x400
mov dword [esp + 0x40], ecx
call fcn.0046009c
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [0x5b2658], eax
jmp 0x40bcf7
push 0x7e764c
push 0x7e38a0
mov dword [esp + 0x44], ecx
call fcn.0040d1a0
mov ecx, dword [esp + 0x44]
add esp, 8
jmp 0x40bcea
push 0x1000
mov dword [esp + 0x40], ecx
call fcn.0046009c
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [0x5b2654], eax
jmp 0x40bce2
push 0x7e764c
push 0x7e38a0
mov dword [esp + 0x44], ecx
call fcn.0040d1a0
mov ecx, dword [esp + 0x44]
add esp, 8
jmp 0x40bcd5
push 0x4000
mov dword [esp + 0x40], ecx
call fcn.0046009c
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [0x5b2650], eax
jmp 0x40bccd
push 0x7e764c
push 0x7e38a0
mov dword [esp + 0x44], ecx
call fcn.0040d1a0
mov ecx, dword [esp + 0x44]
add esp, 8
jmp 0x40bcc0
push 0x10000
mov dword [esp + 0x40], ecx
call fcn.0046009c
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [0x5b264c], eax
jmp 0x40bcb8
push 0x7e764c
push 0x7e38a0
mov dword [esp + 0x44], ecx
call fcn.0040d1a0
mov ecx, dword [esp + 0x44]
add esp, 8
jmp 0x40bcab
push 0x40000
mov dword [esp + 0x40], ecx
call fcn.0046009c
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [0x5b2648], eax
jmp 0x40bca3
push 0x7e764c
push 0x7e38a0
mov dword [esp + 0x44], ecx
call fcn.0040d1a0
mov ecx, dword [esp + 0x44]
add esp, 8
jmp 0x40bc96
push 0x100000
mov dword [esp + 0x40], ecx
call fcn.0046009c
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [0x5b2644], eax
jmp 0x40bc8e
push 0x7e764c
push 0x7e38a0
mov dword [esp + 0x44], ecx
call fcn.0040d1a0
mov ecx, dword [esp + 0x44]
add esp, 8
jmp 0x40bc81
push 0x400000
mov dword [esp + 0x40], ecx
call fcn.0046009c
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [0x5b2640], eax
jmp 0x40bc79
push 0x7e764c
push 0x7e38a0
mov dword [esp + 0x44], ecx
call fcn.0040d1a0
mov ecx, dword [esp + 0x44]
add esp, 8
jmp 0x40bc6c
push dword [0x595084]
mov dword [esp + 0x40], ecx
call fcn.0046009c
mov ecx, dword [esp + 0x40]
add esp, 4
mov dword [0x5b263c], eax
jmp 0x40bc64
push edi
mov eax, dword [esp + 0x44]
push eax
mov edx, dword [esp + 0xc4]
push edx
push 0x7e7618
push 0x7e38a0
call fcn.0040d1a0
mov eax, 0xffffffff
add esp, 0x10c
pop ebx
pop ebp
pop esi
pop edi
ret
xor ecx, ecx
jmp 0x40bc4d
xor eax, eax
push eax
push eax
push 0x7e7600
push eax
call dword [0x56e358]
mov eax, 0xffffffff
add esp, 0xf8
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, 8
mov dword [esp + 0xe4], edx
jmp 0x40badc
mov edx, 7
mov dword [esp + 0xe4], edx
jmp 0x40badc
mov edx, 6
mov dword [esp + 0xe4], edx
jmp 0x40badc
mov edx, 5
mov dword [esp + 0xe4], edx
jmp 0x40badc
mov edx, 4
mov dword [esp + 0xe4], edx
jmp 0x40badc
mov edx, 3
mov dword [esp + 0xe4], edx
jmp 0x40badc
mov edx, 2
mov dword [esp + 0xe4], edx
jmp 0x40badc