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

Disassembly:
push 0xffffffffffffffff
push 0x48638f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2d4
push ebx
push ebp
push esi
mov ebx, ecx
push edi
push 0x400
lea ecx, [esp + 0x18]
mov dword [esp + 0x100], ebx
call fcn.0047ddd6
xor edi, edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x2ec], edi
cmp eax, 0xfffffffe
jne 0x41d866
push ecx
mov eax, esp
mov dword [esp + 0x54], esp
push eax
call fcn.00401730
add esp, 4
lea ecx, [esp + 0x50]
push ecx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x4c]
call fcn.00476964
mov ebp, dword [ebx + 0xc0]
mov esi, dword [ebx + 0xbc]
push ebp
call fcn.0045750b
add esp, 4
cmp eax, edi
mov dword [esp + 0x3c], eax
je 0x41d8e2
mov ecx, ebp
mov edi, eax
mov edx, ecx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x44]
push eax
jmp 0x41d8cc
cmp eax, 0xfffffffd
jne 0x41d906
push ecx
mov ecx, esp
mov dword [esp + 0x54], esp
push ecx
call fcn.00401730
add esp, 4
lea edx, [esp + 0x50]
push edx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x4c]
call fcn.00476964
mov ebp, dword [ebx + 0x1bc]
mov esi, dword [ebx + 0x1b8]
push ebp
call fcn.0045750b
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
je 0x41d8e2
mov ecx, ebp
mov edi, eax
mov eax, ecx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x44]
push ecx
lea ecx, [esp + 0x20]
call fcn.0047de5e
mov dword [esp + 0x40], 0
jmp 0x41db3a
push eax
mov dword [esp + 0x2f0], 0xffffffff
call fcn.00457422
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0047de9b
xor eax, eax
jmp 0x41f56f
mov edx, dword [0x49e2a4]
mov dword [esp + 0x10], edx
cmp eax, 0xffffffff
mov byte [esp + 0x2ec], 1
jne 0x41d92d
push str.qsave.dat
lea ecx, [esp + 0x14]
call fcn.00476aa1
jmp 0x41d940
push eax
lea eax, [esp + 0x14]
push str.save_d.dat
push eax
call fcn.004754c2
add esp, 0xc
push ecx
lea edx, [ebx + 0x450]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.004766d9
lea eax, [esp + 0x50]
push eax
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x4c]
call fcn.00476964
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.004766d9
lea eax, [esp + 0x50]
push eax
call fcn.004013c0
add esp, 8
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2f0], 2
call fcn.00476a51
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2ec], 1
call fcn.00476964
push ecx
mov ecx, esp
mov dword [esp + 0x54], esp
push ecx
call fcn.00401730
add esp, 4
lea edx, [esp + 0x50]
push edx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0x4c]
call fcn.00476964
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x98]
call fcn.00476ee5
push edi
push edi
push esi
lea ecx, [esp + 0xa4]
mov byte [esp + 0x2f8], 3
call fcn.00476ff7
test eax, eax
je 0x41dd4b
lea eax, [esp + 0x1cc]
lea ecx, [esp + 0x98]
push eax
call fcn.00477642
test eax, eax
je 0x41da22
mov ecx, dword [esp + 0x1d0]
mov dword [esp + 0x44], ecx
lea edx, [esp + 0x4c]
push 4
push edx
lea ecx, [esp + 0xa0]
call fcn.00477114
lea eax, [esp + 0x48]
push 4
push eax
lea ecx, [esp + 0xa0]
call fcn.00477114
cmp dword [esp + 0x4c], 0x32564153
jne 0x41dd4b
lea ecx, [esp + 0x98]
call fcn.004772f1
mov ebp, eax
sub ebp, 8
js 0x41dd4b
push ebp
call fcn.0045750b
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
je 0x41dd4b
push ebp
push eax
lea ecx, [esp + 0xa0]
call fcn.00477114
mov ecx, dword [esp + 0x3c]
push 0
push ebp
push ecx
lea ecx, [esp + 0x20]
call fcn.0047de5e
xor eax, eax
test ebp, ebp
jle 0x41db01
mov ecx, ebp
mov dword [esp + 0x84], ecx
cmp ecx, 4
mov dword [esp + 0x58], 0
jl 0x41dac2
mov ecx, 4
mov edx, dword [esp + 0x3c]
lea edi, [esp + 0x58]
lea esi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [esp + 0x48]
and ecx, 3
add eax, 4
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x58]
sub edx, ecx
mov ecx, dword [esp + 0x84]
sub ecx, 4
cmp eax, ebp
mov dword [esp + 0x48], edx
mov dword [esp + 0x84], ecx
jl 0x41dab0
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x41dd4b
lea ecx, [esp + 0x98]
mov dword [esp + 0x40], 0
mov byte [esp + 0x2ec], 1
call fcn.00476f3a
lea ecx, [esp + 0x10]
mov byte [esp + 0x2ec], 0
call fcn.00476964
mov ecx, ebx
call fcn.00433550
push 3
mov ecx, ebx
call fcn.00423e00
push fcn.00476964
push fcn.0040d2f0
push 5
lea eax, [esp + 0x180]
push 4
push eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x60], 0
call fcn.004570de
mov byte [esp + 0x2ec], 4
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x170]
push 4
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x16c]
push 4
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov ecx, dword [esp + 0x16c]
mov ebp, dword [esp + 0x170]
not ecx
not ebp
add eax, ecx
cmp ebp, 0x4c41594c
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], ebp
ja 0x41e8e1
je 0x41e87d
cmp ebp, 0x3259414c
ja 0x41e31a
je 0x41e296
cmp ebp, 0x32434645
ja 0x41e06d
je 0x41df95
cmp ebp, 0x20524156
je 0x41de77
cmp ebp, 0x31435445
je 0x41ddf1
cmp ebp, 0x32434146
jne 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x80]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x80]
inc esi
not cl
mov byte [esp + esi + 0x123], cl
cmp esi, 4
jb 0x41dc2a
mov edx, dword [0x49e2a4]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x82]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2f4], 0x14
call dword [edx + 0x34]
mov al, byte [esp + 0x82]
lea ecx, [esp + 0x84]
not al
mov byte [esp + 0x11c], al
mov esi, dword [esp + 0x11c]
and esi, 0xff
push esi
push esi
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
push esi
lea ecx, [esp + 0x88]
call fcn.00476d97
push ecx
lea edx, [esp + 0x88]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.004766d9
lea eax, [esp + 0x130]
push eax
call fcn.004013c0
add esp, 8
mov ebp, dword [esp + 0x124]
push eax
mov byte [esp + 0x2f0], 0x15
lea esi, [ebx + ebp*4 + 0x310]
mov ecx, esi
call fcn.00476a51
lea ecx, [esp + 0x12c]
mov byte [esp + 0x2ec], 0x14
call fcn.00476964
mov edi, dword [ebx + ebp*4 + 0x12c]
test edi, edi
je 0x41dd32
mov ecx, edi
call fcn.00406880
push edi
call fcn.00476eda
add esp, 4
mov ecx, dword [esi]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x41dd98
mov dword [ebx + ebp*4 + 0x12c], 0
jmp 0x41ddd4
lea ecx, [esp + 0x98]
mov byte [esp + 0x2ec], 1
call fcn.00476f3a
lea ecx, [esp + 0x10]
mov byte [esp + 0x2ec], 0
call fcn.00476964
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x2ec], 0xffffffff
push edx
call fcn.00457422
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0047de9b
xor eax, eax
jmp 0x41f56f
push 0xf4
call fcn.00476eb1
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x2ec], 0x16
je 0x41ddcb
mov esi, dword [esi]
push 0
push 0x4a8c18
push esi
push 0xffffffffffffffff
push ebx
mov ecx, eax
call fcn.004066a0
jmp 0x41ddcd
xor eax, eax
mov dword [ebx + ebp*4 + 0x12c], eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x2ec], 4
call fcn.00476964
mov ebp, dword [esp + 0x48]
jmp 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x5d]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x5d]
inc esi
not cl
mov byte [esi + ebx + 0x2bf], cl
cmp esi, 4
jb 0x41ddf3
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x92]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x92]
inc esi
not cl
mov byte [ebx + esi + 0x2f3], cl
cmp esi, 4
jb 0x41de1a
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x94]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x94]
inc esi
not cl
mov byte [ebx + esi + 0x2f7], cl
cmp esi, 4
jb 0x41de47
jmp 0x41f3e8
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x41f3e8
mov edx, dword [0x49e2a4]
mov dword [esp + 0x10], edx
lea eax, [esp + 0xb4]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2f4], 5
call fcn.00407860
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
mov ecx, dword [esp + 0xb4]
and ecx, 0xff
push ecx
lea ecx, [esp + 0x14]
call fcn.00476d97
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x8d]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x8d]
inc esi
not cl
mov byte [esp + esi + 0x15b], cl
cmp esi, 4
jb 0x41def6
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x140]
push edx
push eax
lea ecx, [ebx + 0x934]
call fcn.00475fd2
test eax, eax
je 0x41df4b
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x41df5f
mov edx, dword [esp + 0x15c]
lea eax, [esp + 0x10]
push edx
push eax
mov ecx, ebx
call fcn.0041ac00
lea ecx, [esp + 0x10]
mov byte [esp + 0x2ec], 4
call fcn.00476964
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x41de97
jmp 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x5c]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x5c]
inc esi
not cl
mov byte [esp + esi + 0xef], cl
cmp esi, 4
jb 0x41df97
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x8c]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x8c]
inc esi
not cl
mov byte [esp + esi + 0xe7], cl
cmp esi, 4
jb 0x41dfbe
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x5e]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x5e]
inc esi
not cl
mov byte [esp + esi + 0x163], cl
cmp esi, 4
jb 0x41dfeb
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x8e]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x8e]
inc esi
not cl
mov byte [esp + esi + 0x127], cl
cmp esi, 4
jb 0x41e012
mov edx, dword [esp + 0x128]
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x164]
push edx
mov edx, dword [esp + 0xf4]
push eax
push ecx
push 0
push edx
push 1
mov ecx, ebx
call fcn.004345c0
jmp 0x41f3e8
cmp ebp, 0x32444e53
je 0x41e168
cmp ebp, 0x3245544d
jne 0x41f3e8
mov eax, dword [0x49e2a4]
mov dword [esp + 0x10], eax
mov byte [esp + 0x2ec], 0x13
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x90]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x90]
inc esi
not al
mov byte [esi + 0x4a9167], al
cmp esi, 4
jb 0x41e098
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x61]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x61]
inc esi
not al
mov byte [esi + 0x4a916f], al
cmp esi, 4
jb 0x41e0c4
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x7b]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x7b]
lea ecx, [esp + 0x10]
not al
mov byte [esp + 0x130], al
mov esi, dword [esp + 0x130]
and esi, 0xff
push esi
push esi
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
push esi
lea ecx, [esp + 0x14]
call fcn.00476d97
mov edi, dword [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x2ec], 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x4a9174
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x10]
jmp 0x41f3e3
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x41f3e8
mov edx, dword [0x49e2a4]
mov dword [esp + 0x10], edx
mov byte [esp + 0x2ec], 0x17
xor esi, esi
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x63]
push 1
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x63]
inc esi
not al
mov byte [esp + esi + 0x15f], al
cmp esi, 4
jb 0x41e19c
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x97]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x97]
lea ecx, [esp + 0x10]
not al
mov byte [esp + 0xf8], al
mov esi, dword [esp + 0xf8]
and esi, 0xff
push esi
push esi
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
push esi
lea ecx, [esp + 0x14]
call fcn.00476d97
mov esi, dword [esp + 0x160]
cmp esi, 5
jae 0x41e22f
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + esi*4 + 0x178]
call fcn.00476a51
lea edx, [esi + esi*2]
shl edx, 4
xor esi, esi
lea edi, [edx + ebx + 0xaa0]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x65]
push 1
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x65]
inc esi
not al
mov byte [esi + edi - 1], al
cmp esi, 4
jb 0x41e23e
lea ecx, [esp + 0x10]
mov byte [esp + 0x2ec], 4
call fcn.00476964
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x41e188
jmp 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x7d]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x7d]
inc esi
not cl
mov byte [esp + esi + 0xff], cl
cmp esi, 4
jb 0x41e298
push 0xf4
call fcn.00476eb1
add esp, 4
mov dword [esp + 0x48], eax
mov esi, dword [esp + 0x100]
mov byte [esp + 0x2ec], 0x12
test eax, eax
je 0x41e2f8
push 0
push 0x4a8c18
push 0x4a8c18
push esi
push ebx
mov ecx, eax
call fcn.004066a0
jmp 0x41e2fa
xor eax, eax
lea edx, [esp + 0x14]
mov ecx, eax
push edx
mov byte [esp + 0x2f0], 4
mov dword [ebx + esi*4 + 0x1c0], eax
call fcn.004075d0
jmp 0x41f3e8
cmp ebp, 0x444e4957
ja 0x41e6ec
je 0x41e61a
cmp ebp, 0x43415453
je 0x41e546
cmp ebp, 0x43494c43
je 0x41e404
cmp ebp, 0x43534c53
jne 0x41f3e8
mov eax, dword [0x49e2a4]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x67]
push 1
push ecx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2f4], 0xe
call dword [edx + 0x34]
mov al, byte [esp + 0x67]
lea ecx, [esp + 0x10]
not al
mov byte [esp + 0x13c], al
mov esi, dword [esp + 0x13c]
and esi, 0xff
push esi
push esi
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
push esi
lea ecx, [esp + 0x14]
call fcn.00476d97
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.004766d9
lea eax, [esp + 0x10c]
push eax
call fcn.004013c0
add esp, 8
mov eax, dword [eax]
mov ecx, ebx
push eax
mov byte [esp + 0x2f0], 0xf
call fcn.00435450
lea ecx, [esp + 0x108]
mov byte [esp + 0x2ec], 0xe
call fcn.00476964
mov byte [esp + 0x2ec], 4
lea ecx, [esp + 0x10]
jmp 0x41f3e3
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x41e538
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x8f]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x8f]
inc esi
not cl
mov byte [esp + esi + 0x147], cl
cmp esi, 4
jb 0x41e426
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x69]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x69]
inc esi
not cl
mov byte [esp + esi + 0x14b], cl
cmp esi, 4
jb 0x41e453
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x7f]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x7f]
inc esi
not cl
mov byte [esp + esi + 0x14f], cl
cmp esi, 4
jb 0x41e47a
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x6b]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x6b]
inc esi
not cl
mov byte [esp + esi + 0x153], cl
cmp esi, 4
jb 0x41e4a1
mov edx, dword [ebx + 0x8e8]
lea esi, [ebx + 0x8e0]
push 0
push edx
mov ecx, esi
call fcn.0043b9d0
mov edx, dword [esp + 0x148]
lea ecx, [eax + 8]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x14c]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x150]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x154]
mov dword [ecx + 0xc], edx
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x41e512
mov dword [ecx], eax
jmp 0x41e515
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x41e424
push 5
mov ecx, ebx
call fcn.00423e00
jmp 0x41f3e8
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x95]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x95]
inc esi
not cl
mov byte [esp + esi + 0x133], cl
cmp esi, 4
jb 0x41e568
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x6d]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x6d]
inc esi
not cl
mov byte [esp + esi + 0x137], cl
cmp esi, 4
jb 0x41e595
mov edx, dword [ebx + 0x8c]
lea esi, [ebx + 0x84]
push 0
push edx
mov ecx, esi
call fcn.0043b6e0
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x41e5ef
mov dword [ecx], eax
jmp 0x41e5f2
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x41e566
jmp 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x81]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x81]
inc esi
not cl
mov byte [esi + ebx + 0x30b], cl
cmp esi, 4
jb 0x41e61c
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x6f]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x6f]
inc esi
not cl
mov byte [esp + esi + 0x167], cl
cmp esi, 4
jb 0x41e649
mov edx, dword [esp + 0x168]
mov ecx, ebx
push edx
call fcn.00434190
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x91]
push 1
push eax
lea ecx, [esp + 0x1c]
lea edi, [ebx + 0x308]
call dword [edx + 0x34]
mov al, byte [esp + 0x91]
mov ecx, edi
not al
mov byte [esp + 0x110], al
mov esi, dword [esp + 0x110]
and esi, 0xff
push esi
push esi
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
push esi
mov ecx, edi
call fcn.00476d97
mov ecx, dword [ebx + 0x30c]
mov eax, dword [0x4990d0]
neg ecx
sbb ecx, ecx
and ecx, eax
mov dword [ebx + 0x320], ecx
jmp 0x41f3e8
cmp ebp, 0x454d414e
je 0x41e7d8
cmp ebp, 0x45544144
jne 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x71]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x71]
inc esi
not cl
mov byte [esi + ebx + 0x32f], cl
cmp esi, 4
jb 0x41e706
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x83]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x83]
inc esi
not cl
mov byte [esi + ebx + 0x333], cl
cmp esi, 4
jb 0x41e72d
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x73]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x73]
inc esi
not cl
mov byte [esi + ebx + 0x337], cl
cmp esi, 4
jb 0x41e75a
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x96]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x96]
inc esi
not cl
mov byte [esi + ebx + 0x33b], cl
cmp esi, 4
jb 0x41e781
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x75]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x75]
inc esi
not cl
mov byte [esi + ebx + 0x33f], cl
cmp esi, 4
jb 0x41e7ae
jmp 0x41f3e8
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x8b]
push 1
push edx
lea ecx, [esp + 0x1c]
lea edi, [ebx + 0xa80]
call dword [eax + 0x34]
mov cl, byte [esp + 0x8b]
not cl
mov byte [esp + 0x144], cl
mov esi, dword [esp + 0x144]
and esi, 0xff
mov ecx, edi
push esi
push esi
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
push esi
mov ecx, edi
call fcn.00476d97
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x77]
push 1
push edx
lea ecx, [esp + 0x1c]
lea edi, [ebx + 0xa84]
call dword [eax + 0x34]
mov cl, byte [esp + 0x77]
not cl
mov byte [esp + 0x118], cl
mov esi, dword [esp + 0x118]
and esi, 0xff
mov ecx, edi
push esi
push esi
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
push esi
mov ecx, edi
call fcn.00476d97
jmp 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x93]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x93]
inc esi
not cl
mov byte [esp + esi + 0xdb], cl
cmp esi, 4
jb 0x41e87f
mov edx, dword [esp + 0xdc]
xor esi, esi
lea edi, [ebx + edx*4 + 0x284]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x79]
push 1
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x79]
inc esi
not al
mov byte [esi + edi - 1], al
cmp esi, 4
jb 0x41e8ba
jmp 0x41f3e8
cmp ebp, 0x52475250
ja 0x41edf6
je 0x41edcd
cmp ebp, 0x4e495744
ja 0x41eaf2
je 0x41eaaf
cmp ebp, 0x4c534349
je 0x41ea65
cmp ebp, 0x4c544954
je 0x41ea34
cmp ebp, 0x4d47424d
jne 0x41f3e8
mov edx, dword [esp + 0x14]
mov esi, dword [ebx + 0xa4]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x41f3e8
test esi, esi
je 0x41f3e8
mov edx, dword [0x49e2a4]
mov dword [esp + 0x10], edx
lea eax, [esp + 0xc0]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2f4], 0xb
call fcn.00407860
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
mov ecx, dword [esp + 0xc0]
and ecx, 0xff
push ecx
lea ecx, [esp + 0x14]
call fcn.00476d97
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.004766d9
lea eax, [esp + 0x124]
push eax
call fcn.004013c0
add esp, 8
mov ecx, esi
mov esi, dword [esi]
push eax
add ecx, 0x18
mov byte [esp + 0x2f0], 0xc
call fcn.00476a51
lea ecx, [esp + 0x120]
mov byte [esp + 0x2ec], 0xb
call fcn.00476964
lea ecx, [esp + 0x10]
mov byte [esp + 0x2ec], 4
call fcn.00476964
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x41e94f
jmp 0x41f3e8
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x5f]
push 1
push edx
lea ecx, [esp + 0x1c]
lea edi, [ebx + 0x31c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x5f]
not cl
mov byte [esp + 0x158], cl
mov esi, dword [esp + 0x158]
jmp 0x41e857
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x60]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x60]
inc esi
not cl
mov byte [esi + 0x4a91f7], cl
cmp esi, 0x440
jb 0x41ea67
push 0
push 0
mov ecx, ebx
call fcn.00435620
push ebx
call fcn.004114f0
add esp, 4
mov ecx, ebx
push eax
call fcn.004242a0
jmp 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x62]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x62]
inc esi
not cl
mov byte [esi + ebx + 0x327], cl
cmp esi, 4
jb 0x41eab1
mov edx, dword [ebx + 0x328]
mov eax, dword [0x4990d0]
neg edx
sbb edx, edx
and edx, eax
mov dword [ebx + 0x32c], edx
jmp 0x41f3e8
cmp ebp, 0x504d4c43
je 0x41eda1
cmp ebp, 0x50524353
jne 0x41f3e8
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x41f3e8
mov eax, dword [0x49e2a4]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov byte [esp + 0x2ec], 7
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x64]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x64]
inc esi
not cl
mov byte [esp + esi + 0xe3], cl
cmp esi, 4
jb 0x41eb47
lea edx, [esp + 0xbc]
push 1
push edx
lea ecx, [esp + 0x1c]
call fcn.00407860
mov eax, dword [esp + 0xbc]
lea ecx, [esp + 0xd4]
and eax, 0xff
push eax
push eax
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
mov eax, dword [esp + 0xbc]
lea ecx, [esp + 0xd4]
and eax, 0xff
push eax
call fcn.00476d97
xor esi, esi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x66]
push 1
push ecx
lea ecx, [esp + 0x1c]
call dword [edx + 0x34]
mov al, byte [esp + 0x66]
inc esi
not al
mov byte [esp + esi + 0xcb], al
cmp esi, 8
jb 0x41ebbe
push ecx
lea edx, [esp + 0xd8]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.004766d9
lea eax, [esp + 0xe4]
push eax
call fcn.004013c0
add esp, 8
push eax
lea ecx, [esp + 0xd8]
mov byte [esp + 0x2f0], 8
call fcn.00476a51
lea ecx, [esp + 0xe0]
mov byte [esp + 0x2ec], 7
call fcn.00476964
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xc8], 0
test eax, eax
jne 0x41ed1b
push ecx
lea edx, [esp + 0xd8]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.004766d9
lea eax, [esp + 0xf0]
push eax
call fcn.00401080
add esp, 8
lea ecx, [esp + 0xec]
call fcn.00476964
mov ecx, dword [esp + 0xd4]
push ecx
call fcn.00401ab0
mov ecx, eax
call fcn.004021f0
mov esi, eax
test esi, esi
je 0x41ecef
push 0
push 0x1000
push 1
push esi
lea ecx, [esp + 0x198]
call fcn.0047ccaf
lea edx, [esp + 0x188]
push 0
push edx
mov byte [esp + 0x2f4], 9
call fcn.0040c130
mov dword [esp + 0xd0], eax
mov eax, dword [esi]
add esp, 8
mov ecx, esi
call dword [eax + 0x4c]
lea ecx, [esp + 0x188]
mov byte [esp + 0x2ec], 7
call fcn.0047cd8b
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 4]
push ecx
mov eax, esp
mov dword [esp + 0x4c], esp
push eax
call fcn.00401730
add esp, 4
lea ecx, [esp + 0xf8]
push ecx
call fcn.00401080
add esp, 8
lea ecx, [esp + 0xf4]
call fcn.00476964
mov edx, dword [ebx + 0xa8]
lea esi, [ebx + 0xa0]
push 0
push edx
mov ecx, esi
call fcn.0043b7a0
mov edi, eax
lea eax, [esp + 0xc8]
push eax
lea ecx, [edi + 8]
call fcn.0043b590
mov eax, dword [esi + 8]
test eax, eax
je 0x41ed4e
mov dword [eax], edi
jmp 0x41ed51
mov dword [esi + 4], edi
mov dword [esi + 8], edi
lea ecx, [esp + 0xd8]
mov byte [esp + 0x2ec], 0xa
call fcn.00476964
lea ecx, [esp + 0xd4]
mov byte [esp + 0x2ec], 4
call fcn.00476964
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x41eb2a
jmp 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x68]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x68]
inc esi
not cl
mov byte [ebx + esi + 0x2d3], cl
cmp esi, 4
jb 0x41eda3
jmp 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x6a]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x6a]
inc esi
not cl
mov byte [esp + esi + 0x4b], cl
cmp esi, 4
jb 0x41edcf
jmp 0x41f3e8
cmp ebp, 0x54584554
ja 0x41f2ed
je 0x41f0ef
cmp ebp, 0x54434c53
je 0x41ef90
cmp ebp, 0x544e5645
jne 0x41f3e8
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x41f3e8
mov edx, dword [0x49e2a4]
mov dword [esp + 0x10], edx
push 8
mov byte [esp + 0x2f0], 6
call fcn.00476eb1
add esp, 4
mov esi, eax
lea eax, [esp + 0xb8]
lea ecx, [esp + 0x14]
push 1
push eax
call fcn.00407860
mov eax, dword [esp + 0xb8]
lea ecx, [esp + 0x10]
and eax, 0xff
push eax
push eax
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
mov ecx, dword [esp + 0xb8]
and ecx, 0xff
push ecx
lea ecx, [esp + 0x14]
call fcn.00476d97
xor edi, edi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x6c]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x6c]
inc edi
not cl
mov byte [edi + esi + 3], cl
cmp edi, 4
jb 0x41eeab
mov eax, dword [esi + 4]
cdq
and edx, 7
add eax, edx
sar eax, 3
push eax
call fcn.00476eb1
mov ebx, eax
mov eax, dword [esi + 4]
cdq
and edx, 7
add esp, 4
add eax, edx
mov dword [esi], ebx
mov ebp, eax
mov edi, 0
sar ebp, 3
je 0x41ef1c
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x6e]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x6e]
inc edi
not cl
mov byte [edi + ebx - 1], cl
cmp edi, ebp
jb 0x41eefb
push esi
push ecx
mov esi, esp
mov dword [esp + 0xb0], esp
push ecx
lea edx, [esp + 0x1c]
mov ecx, esp
mov dword [esp + 0xb4], esp
push edx
call fcn.004766d9
push esi
call fcn.004013c0
mov ebx, dword [esp + 0x10c]
add esp, 8
lea ecx, [ebx + 0xfc]
call fcn.00439a30
lea ecx, [esp + 0x10]
mov byte [esp + 0x2ec], 4
call fcn.00476964
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [eax + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x41ee40
mov ebp, dword [esp + 0x48]
jmp 0x41f3e8
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x41f0dd
mov edx, dword [0x49e2a4]
mov dword [esp + 0xac], edx
lea eax, [esp + 0xc4]
push 1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2f4], 0xd
call fcn.00407860
mov eax, dword [esp + 0xc4]
lea ecx, [esp + 0xac]
and eax, 0xff
push eax
push eax
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
mov ecx, dword [esp + 0xc4]
and ecx, 0xff
push ecx
lea ecx, [esp + 0xb0]
call fcn.00476d97
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x70]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x70]
inc esi
not cl
mov byte [esp + esi + 0xa7], cl
cmp esi, 4
jb 0x41f018
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x72]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x72]
inc esi
not cl
mov byte [esp + esi + 0xaf], cl
cmp esi, 4
jb 0x41f03f
mov edx, dword [ebx + 0x8cc]
lea esi, [ebx + 0x8c4]
push 0
push edx
mov ecx, esi
call fcn.0043b960
mov edi, eax
lea eax, [esp + 0xac]
push eax
lea ebp, [edi + 8]
mov ecx, ebp
call fcn.00476a51
mov ecx, dword [esp + 0xb0]
mov dword [ebp + 4], ecx
mov eax, dword [esi + 8]
test eax, eax
je 0x41f0a3
mov dword [eax], edi
jmp 0x41f0a6
mov dword [esi + 4], edi
lea ecx, [esp + 0xac]
mov dword [esi + 8], edi
mov byte [esp + 0x2ec], 4
call fcn.00476964
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x41efb0
push 4
mov ecx, ebx
call fcn.00423e00
mov ebp, dword [esp + 0x48]
jmp 0x41f3e8
cmp dword [esp + 0x58], 0x20
jge 0x41f3e8
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
jne 0x41f2db
mov eax, dword [0x49e2a4]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x74]
push 1
push edx
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2f4], 0x10
call dword [eax + 0x34]
mov cl, byte [esp + 0x74]
not cl
mov byte [esp + 0x104], cl
mov esi, dword [esp + 0x104]
and esi, 0xff
lea ecx, [esp + 0x98]
push esi
push esi
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
push esi
lea ecx, [esp + 0x9c]
call fcn.00476d97
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x76]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x76]
not cl
mov byte [esp + 0x10c], cl
mov esi, dword [esp + 0x10c]
and esi, 0xff
lea ecx, [esp + 0x9c]
push esi
push esi
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
push esi
lea ecx, [esp + 0xa0]
call fcn.00476d97
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x78]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x78]
inc esi
not cl
mov byte [esp + esi + 0x9f], cl
cmp esi, 4
jb 0x41f1d9
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x7a]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x7a]
inc esi
not cl
mov byte [esp + esi + 0xa3], cl
cmp esi, 4
jb 0x41f200
mov eax, dword [esp + 0x58]
push 0
lea edx, [eax*8]
sub edx, eax
mov eax, dword [ebx + edx*4 + 0x514]
push eax
lea esi, [ebx + edx*4 + 0x50c]
mov ecx, esi
call fcn.0043b840
mov ebp, eax
lea ecx, [esp + 0x98]
push ecx
lea edi, [ebp + 8]
mov ecx, edi
call fcn.00476a51
lea edx, [esp + 0x9c]
lea ecx, [edi + 4]
push edx
call fcn.00476a51
mov eax, dword [esp + 0xa0]
mov dword [edi + 8], eax
mov ecx, dword [esp + 0xa4]
mov dword [edi + 0xc], ecx
mov eax, dword [esi + 8]
test eax, eax
je 0x41f28d
mov dword [eax], ebp
jmp 0x41f290
mov dword [esi + 4], ebp
mov dword [esi + 8], ebp
lea ecx, [esp + 0x9c]
mov byte [esp + 0x2ec], 0x11
call fcn.00476964
lea ecx, [esp + 0x98]
mov byte [esp + 0x2ec], 4
call fcn.00476964
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
call dword [edx + 0xc]
mov edx, dword [esp + 0x40]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
test eax, eax
je 0x41f11a
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x48]
inc eax
mov dword [esp + 0x58], eax
jmp 0x41f3e8
cmp ebp, 0x5654534c
je 0x41f35d
cmp ebp, 0x5759454b
jne 0x41f3e8
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x7c]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x7c]
inc esi
not cl
mov byte [esi + ebx + 0x2af], cl
cmp esi, 4
jb 0x41f303
push 2
mov ecx, ebx
call fcn.00423e00
xor esi, esi
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x7e]
push 1
push edx
lea ecx, [esp + 0x1c]
call dword [eax + 0x34]
mov cl, byte [esp + 0x7e]
inc esi
not cl
mov byte [esi + ebx + 0x1a7], cl
cmp esi, 4
jb 0x41f333
jmp 0x41f3e8
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x57]
push 1
push edx
lea ecx, [esp + 0x1c]
lea esi, [ebx + 0x318]
call dword [eax + 0x34]
mov cl, byte [esp + 0x57]
not cl
mov byte [esp + 0x114], cl
mov edi, dword [esp + 0x114]
and edi, 0xff
mov ecx, esi
push edi
push edi
call fcn.00476d48
push eax
lea ecx, [esp + 0x1c]
call fcn.00407860
push edi
mov ecx, esi
call fcn.00476d97
push ecx
mov ecx, esp
mov dword [esp + 0xac], esp
push esi
call fcn.004766d9
lea edx, [esp + 0x54]
push edx
call fcn.004013c0
add esp, 8
push eax
mov ecx, esi
mov byte [esp + 0x2f0], 0x18
call fcn.00476a51
mov byte [esp + 0x2ec], 4
lea ecx, [esp + 0x50]
call fcn.00476964
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
push 0
push eax
lea ecx, [esp + 0x1c]
call dword [edx + 0x28]
cmp ebp, 0x20444e45
mov dword [esp + 0x40], 0
jne 0x41db7d
xor esi, esi
lea edi, [esp + 0x174]
lea ebp, [ebx + 0xaa0]
mov eax, dword [edi]
push 0
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x41f432
push esi
mov ecx, ebx
call fcn.00436000
jmp 0x41f482
mov ecx, dword [ebp]
push ecx
push 0
push 0
push 1
push esi
push ecx
mov ecx, esp
mov dword [esp + 0xc4], esp
push edi
call fcn.004766d9
lea edx, [esp + 0x6c]
push edx
call fcn.004013c0
add esp, 8
mov ecx, eax
mov byte [esp + 0x304], 0x19
call fcn.00409730
push eax
mov ecx, ebx
call fcn.00435700
lea ecx, [esp + 0x50]
mov byte [esp + 0x2ec], 4
call fcn.00476964
inc esi
add ebp, 0x30
add edi, 4
cmp esi, 5
jl 0x41f41d
push 0x49b6e4
mov ecx, ebx
call fcn.00435c30
push 0x49b718
mov ecx, ebx
call fcn.00435c30
mov eax, dword [esp + 0x2f4]
test eax, eax
jl 0x41f4b7
mov dword [ebx + 0x35c], eax
cmp eax, 0xfffffffe
jne 0x41f4f8
mov eax, dword [ebx + 0xbc]
lea esi, [ebx + 0xbc]
push eax
call fcn.00457422
add esp, 4
mov eax, esi
mov ecx, 7
mov edx, dword [eax + 8]
mov dword [eax], edx
mov edx, dword [eax + 0xc]
mov dword [eax + 4], edx
add eax, 8
dec ecx
jne 0x41f4d8
lea ecx, [ebx + 0xf4]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp 0x41f504
cmp eax, 0xfffffffd
je 0x41f504
mov ecx, ebx
call fcn.0041f5c0
mov esi, dword [ebx + 0x4d8]
mov ecx, ebx
mov dword [ebx + 0x4d8], 0
call fcn.0041a260
mov edx, dword [esp + 0x4c]
push fcn.00476964
push 5
lea eax, [esp + 0x17c]
push 4
push eax
mov dword [ebx + 0x4d8], esi
mov dword [ebx + 0x468], edx
mov byte [esp + 0x2fc], 0
call fcn.00457160
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2ec], 0xffffffff
push ecx
call fcn.00457422
add esp, 4
lea ecx, [esp + 0x14]
call fcn.0047de9b
mov eax, 1
mov ecx, dword [esp + 0x2e4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2e0
ret 4