Function at 0x479fb0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fea24
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x658
mov eax, dword [0x534090]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x598], ecx
mov eax, dword [ebx + 8]
xor edx, edx
mov dword [ebp - 0x58c], 0
mov dword [ebp - 0x5b8], eax
mov dword [ebp - 0x5b4], edx
mov dword [ebp - 0x5a8], edx
call fcn.00433fc0
mov esi, eax
mov dword [ebp - 0x628], 0x51921c
xorps xmm0, xmm0
mov dword [ebp - 0x624], esi
movlpd qword [ebp - 0x630], xmm0
mov dword [ebp - 0x620], 0
mov ecx, dword [esi]
cmp dword [ecx], 0
je 0x47a097
lea eax, [ebp - 0x5c0]
movlpd qword [ebp - 0x5c0], xmm0
push eax
call dword [0x504094]
mov eax, dword [ebp - 0x5c0]
mov ecx, dword [ebp - 0x5bc]
push 0x515300
push 0x51924c
push str._s_s
push 0x515300
push 0
push esi
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x62c], ecx
call fcn.00433290
add esp, 0x18
mov dword [ebp - 4], 0
mov dword [ebp - 0x5f0], 0
mov dword [ebp - 0x5ec], 0x534b30
mov dword [ebp - 0x280], 0
mov eax, 7
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x26c], eax
xor eax, eax
mov word [ebp - 0x280], ax
mov byte [ebp - 4], 2
lea edx, [eax + 2]
mov esi, 0x64
mov ecx, 0x7fff
add esi, esi
cmp esi, 0x7fff
cmova esi, ecx
xor ecx, ecx
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004cbd6c
mov edi, eax
add esp, 4
mov dword [ebp - 0x5c4], edi
push esi
push edi
push 0
mov byte [ebp - 4], 3
call dword [0x50418c]
mov dword [ebp - 0x594], eax
call dword [0x504188]
mov dword [ebp - 0x59c], eax
test eax, eax
je 0x47a16c
cmp eax, 0x7a
jne 0x47bf69
push edi
mov byte [ebp - 4], 2
call fcn.004cbb15
add esp, 4
mov ecx, 0x7fff
mov edx, 2
cmp esi, 0x7fff
jae 0x47bf96
jmp 0x47a0f1
test esi, esi
je 0x47bf69
cmp dword [ebp - 0x594], esi
jae 0x47bf69
push ecx
lea eax, [ebp - 0x590]
mov dword [ebp - 0x590], edi
push eax
lea ecx, [ebp - 0x358]
call fcn.004643a0
push edi
call fcn.004cbb15
add esp, 4
lea eax, [ebp - 0x460]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x358]
call fcn.0044d960
lea ecx, [ebp - 0x358]
call fcn.0043b020
mov edx, dword [ebp - 0x598]
mov ecx, dword [ebp - 0x5b8]
mov edx, dword [edx + 0x34fc]
cmp byte [ecx + 0xc], 0
mov edx, dword [edx]
je 0x47a1e5
add edx, 0x1bd54
jmp 0x47a1eb
add edx, 0x1ab3c
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x47a1f0
sub ecx, esi
mov dword [ebp - 0x148], 0
sar ecx, 1
push ecx
xor eax, eax
mov dword [ebp - 0x138], 0
push edx
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x134], 7
mov word [ebp - 0x148], ax
mov byte [ebp - 4], 5
call fcn.0043add0
mov edi, 0x7e00
mov dword [ebp - 0x588], edi
mov dword [ebp - 0x58c], edi
mov dword [ebp - 0x5fc], 0
mov dword [ebp - 0x5f8], 0
mov dword [ebp - 0x5f4], 0
mov eax, dword [ebp - 0x598]
mov byte [ebp - 4], 8
mov dword [ebp - 0x600], 0
mov eax, dword [eax + 0x34fc]
mov ecx, dword [eax]
cmp dword [ecx + 0x5220], 0
jbe 0x47a962
mov eax, dword fs:[0x2c]
xor edx, edx
mov dword [ebp - 0x594], edx
mov esi, dword [eax]
mov dword [ebp - 0x5a4], esi
nop word [eax + eax]
mov eax, dword [0x538e30]
lea edi, [ecx + 0x5224]
add edi, edx
mov dword [ebp - 0x618], edi
cmp eax, dword [esi + 4]
jg 0x47bfbf
mov eax, dword [0x538e40]
cmp dword [eax], 0
je 0x47a518
xor eax, eax
mov dword [ebp - 0x250], 0x80648041
lea edx, [ebp - 0x250]
mov dword [ebp - 0x24c], 0x80698064
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x248], 0x8067806e
mov dword [ebp - 0x244], 0x80668020
mov dword [ebp - 0x240], 0x806c806f
mov dword [ebp - 0x23c], 0x80658064
mov dword [ebp - 0x238], 0x80208072
mov dword [ebp - 0x234], 0x806f8074
mov dword [ebp - 0x230], 0x80648020
mov dword [ebp - 0x22c], 0x806d8075
mov dword [ebp - 0x228], 0x80208070
mov dword [ebp - 0x224], 0x8069806c
mov dword [ebp - 0x220], 0x80748073
mov dword [ebp - 0x21c], 0x8020803a
mov dword [ebp - 0x218], 0x807d807b
mov dword [ebp - 0x214], 0x803a8020
mov dword [ebp - 0x210], 0x807b8020
mov dword [ebp - 0x20c], 0x8020807d
mov dword [ebp - 0x208], 0x803e802d
mov dword [ebp - 0x204], 0x807b8020
mov dword [ebp - 0x200], 0x8000807d
mov word [ebp - 0x1fc], ax
call fcn.00416fb0
mov eax, dword [ebp - 0x588]
or eax, 0x8000
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x328]
mov ecx, dword [edi + 0x2000]
or eax, 1
cmp dword [ebp - 0x314], 8
mov esi, dword [ebp - 0x5e4]
cmovae edx, dword [ebp - 0x328]
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x58c], eax
lea eax, [edi + 0x1000]
mov dword [ebp - 0x390], ecx
mov ecx, edx
mov dword [ebp - 0x398], eax
mov eax, dword [ebp - 0x5e4]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x5e4]
mov dword [ebp - 0x39c], esi
lea esi, [ecx + 2]
mov dword [ebp - 0x3a0], edi
mov dword [ebp - 0x38c], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x47a442
sub ecx, esi
sub esp, 0x10
mov eax, esp
sar ecx, 1
lea esi, [ebp - 0x3a0]
push ecx
push edx
lea ecx, [ebp - 0x388]
mov dword [eax], 0x2cc
mov dword [eax + 4], 0
mov dword [eax + 8], esi
call fcn.0041d9e0
mov eax, dword [ebp - 0x588]
add esp, 0x18
or eax, 0x10000
or eax, 2
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x588], eax
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x58c], eax
lea eax, [ebp - 0x388]
push eax
call fcn.0043a3c0
mov eax, dword [ebp - 0x588]
or eax, 0x20000
mov dword [ebp - 4], 0xf
lea edi, [ebp - 0x2e0]
mov ecx, dword [ebp - 0x5a4]
or eax, 4
cmp dword [ebp - 0x2cc], 8
mov dword [ebp - 0x588], eax
cmovae edi, dword [ebp - 0x2e0]
mov dword [ebp - 0x58c], eax
mov eax, dword [0x538e30]
cmp eax, dword [ecx + 4]
jg 0x47c0e7
push edi
push 0
push 0x519280
push 0
push 0x538e40
call fcn.00436d10
mov edi, dword [ebp - 0x618]
add esp, 0x14
mov dword [ebp - 4], 0xe
mov eax, dword [ebp - 0x588]
test al, 4
je 0x47a59b
mov edx, dword [ebp - 0x2cc]
and eax, 0xfffffffb
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x58c], eax
cmp edx, 8
jb 0x47a57e
mov ecx, dword [ebp - 0x2e0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47a56e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47c33a
push edx
push ecx
call fcn.004cb66f
mov eax, dword [ebp - 0x588]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2cc], 7
mov word [ebp - 0x2e0], cx
mov dword [ebp - 4], 0xd
test al, 2
je 0x47a618
mov edx, dword [ebp - 0x374]
and eax, 0xfffffffd
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x58c], eax
cmp edx, 8
jb 0x47a5fb
mov ecx, dword [ebp - 0x388]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47a5eb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47c33a
push edx
push ecx
call fcn.004cb66f
mov eax, dword [ebp - 0x588]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x378], 0
mov dword [ebp - 0x374], 7
mov word [ebp - 0x388], cx
mov dword [ebp - 4], 8
test al, 1
je 0x47a68f
mov edx, dword [ebp - 0x314]
and eax, 0xfffffffe
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x58c], eax
cmp edx, 8
jb 0x47a672
mov ecx, dword [ebp - 0x328]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47a668
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47c33a
push edx
push ecx
call fcn.004cb66f
add esp, 8
xor eax, eax
mov dword [ebp - 0x318], 0
mov dword [ebp - 0x314], 7
mov word [ebp - 0x328], ax
push edi
lea ecx, [ebp - 0x5fc]
call fcn.0044da90
test al, al
jne 0x47a91c
xor eax, eax
mov dword [ebp - 0x1b8], 0x80618057
lea edx, [ebp - 0x1b8]
mov dword [ebp - 0x1b4], 0x806e8072
lea ecx, [ebp - 0x2f8]
mov dword [ebp - 0x1b0], 0x806e8069
mov dword [ebp - 0x1ac], 0x802c8067
mov dword [ebp - 0x1a8], 0x80668020
mov dword [ebp - 0x1a4], 0x80698061
mov dword [ebp - 0x1a0], 0x8065806c
mov dword [ebp - 0x19c], 0x80208064
mov dword [ebp - 0x198], 0x806f8074
mov dword [ebp - 0x194], 0x80618020
mov dword [ebp - 0x190], 0x80648064
mov dword [ebp - 0x18c], 0x80668020
mov dword [ebp - 0x188], 0x806c806f
mov dword [ebp - 0x184], 0x80658064
mov dword [ebp - 0x180], 0x80008072
mov word [ebp - 0x17c], ax
call fcn.00416fb0
or dword [ebp - 0x588], 0x40000
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x2f8]
cmp dword [ebp - 0x2e4], 8
lea edx, [ebp - 0x59c]
lea ecx, [ebp - 0x3d0]
cmovae eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x59c], eax
call fcn.00417750
push eax
lea ecx, [ebp - 0x310]
mov byte [ebp - 4], 0x15
call fcn.0043a3c0
mov eax, dword [ebp - 0x588]
or eax, 0x100000
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x58c], eax
mov byte [ebp - 4], 0x16
lea edi, [ebp - 0x310]
cmp dword [ebp - 0x2fc], 8
mov ecx, dword [ebp - 0x5a4]
cmovae edi, dword [ebp - 0x310]
mov eax, dword [0x538e30]
cmp eax, dword [ecx + 4]
jg 0x47c212
push edi
push 0
push 0x519280
push 8
push 0x538e40
call fcn.00436d10
mov byte [ebp - 4], 0x15
add esp, 0x14
mov edx, dword [ebp - 0x2fc]
cmp edx, 8
jb 0x47a83d
mov ecx, dword [ebp - 0x310]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47a833
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47c33a
push edx
push ecx
call fcn.004cb66f
add esp, 8
xor eax, eax
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x3bc]
mov dword [ebp - 0x300], 0
mov dword [ebp - 0x2fc], 7
mov word [ebp - 0x310], ax
cmp edx, 8
jb 0x47a89e
mov ecx, dword [ebp - 0x3d0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47a894
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47c33a
push edx
push ecx
call fcn.004cb66f
add esp, 8
xor eax, eax
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x2e4]
mov dword [ebp - 0x3c0], 0
mov dword [ebp - 0x3bc], 7
mov word [ebp - 0x3d0], ax
cmp edx, 8
jb 0x47a8ff
mov ecx, dword [ebp - 0x2f8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47a8f5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47c33a
push edx
push ecx
call fcn.004cb66f
add esp, 8
xor eax, eax
mov dword [ebp - 0x2e8], 0
mov dword [ebp - 0x2e4], 7
mov word [ebp - 0x2f8], ax
mov eax, dword [ebp - 0x598]
mov esi, dword [ebp - 0x600]
mov edx, dword [ebp - 0x594]
inc esi
add edx, 0x2004
mov dword [ebp - 0x600], esi
mov eax, dword [eax + 0x34fc]
mov dword [ebp - 0x594], edx
mov ecx, dword [eax]
cmp esi, dword [ecx + 0x5220]
jae 0x47a95c
mov esi, dword [ebp - 0x5a4]
jmp 0x47a2b0
mov edi, dword [ebp - 0x588]
mov esi, dword [ebp - 0x5b8]
mov eax, dword [eax]
cmp byte [esi + 0xc], 0
je 0x47a978
mov eax, dword [eax + 0x1bd50]
jmp 0x47a97e
mov eax, dword [eax + 0x1ab38]
push eax
lea ecx, [ebp - 0x5fc]
call fcn.0044ec00
test al, al
jne 0x47ac0b
cmp dword [ebp - 0x134], 8
lea eax, [ebp - 0x148]
lea edx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0x80728045
cmovae eax, dword [ebp - 0x148]
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0xcc], 0x806f8072
mov dword [ebp - 0xc8], 0x802c8072
mov dword [ebp - 0xc4], 0x80668020
mov dword [ebp - 0xc0], 0x80698061
mov dword [ebp - 0xbc], 0x8065806c
mov dword [ebp - 0xb8], 0x80208064
mov dword [ebp - 0xb4], 0x806f8074
mov dword [ebp - 0xb0], 0x80618020
mov dword [ebp - 0xac], 0x80648064
mov dword [ebp - 0xa8], 0x80648020
mov dword [ebp - 0xa4], 0x806d8075
mov dword [ebp - 0xa0], 0x80208070
mov dword [ebp - 0x9c], 0x806f8074
mov dword [ebp - 0x98], 0x80618020
mov dword [ebp - 0x94], 0x80638072
mov dword [ebp - 0x90], 0x80698068
mov dword [ebp - 0x8c], 0x80658076
mov dword [ebp - 0x88], 0x8020803a
mov dword [ebp - 0x84], 0x807d807b
mov dword [ebp - 0x80], 0x8000
call fcn.00416fb0
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0x100]
cmp dword [ebp - 0xec], 8
lea edx, [ebp - 0x5a4]
lea ecx, [ebp - 0x130]
cmovae eax, dword [ebp - 0x100]
mov dword [ebp - 0x5a4], eax
lea eax, [ebp - 0x590]
push eax
call fcn.004177d0
add esp, 4
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0x1c
call fcn.0043a3c0
mov byte [ebp - 4], 0x1d
lea esi, [ebp - 0x118]
cmp dword [ebp - 0x104], 8
cmovae esi, dword [ebp - 0x118]
call fcn.00433fc0
push esi
push 0
push 0x519280
push 8
push eax
call fcn.00436d10
mov edx, dword [ebp - 0x104]
add esp, 0x14
cmp edx, 8
jb 0x47ab45
mov ecx, dword [ebp - 0x118]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47ab3b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47c33a
push edx
push ecx
call fcn.004cb66f
add esp, 8
mov edx, dword [ebp - 0x11c]
xor eax, eax
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 7
mov word [ebp - 0x118], ax
cmp edx, 8
jb 0x47aba2
mov ecx, dword [ebp - 0x130]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47ab98
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47c33a
push edx
push ecx
call fcn.004cb66f
add esp, 8
mov edx, dword [ebp - 0xec]
xor eax, eax
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 7
mov word [ebp - 0x130], ax
cmp edx, 8
jb 0x47abff
mov ecx, dword [ebp - 0x100]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47abf5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47c33a
push edx
push ecx
call fcn.004cb66f
add esp, 8
mov byte [ebp - 0x581], 0
jmp 0x47bec7
lea eax, [ebp - 0x358]
push eax
lea ecx, [ebp - 0x148]
call fcn.0044d960
mov dword [ebp - 0x130], 0
push 8
xor eax, eax
mov dword [ebp - 0x120], 0
push 0x5192e4
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x11c], 7
mov word [ebp - 0x130], ax
mov byte [ebp - 4], 0x1e
call fcn.0043add0
or edi, 0x3000000
lea eax, [ebp - 0x358]
mov byte [ebp - 4], 0x20
push eax
lea ecx, [ebp - 0x490]
call fcn.0043a3c0
lea eax, [ebp - 0x130]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0x490]
call fcn.00438f10
push eax
lea ecx, [ebp - 0x340]
call fcn.0043a3c0
or edi, 0x4000000
lea ecx, [ebp - 0x490]
mov dword [ebp - 0x588], edi
call fcn.0043b020
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x11c]
cmp edx, 8
jb 0x47acf3
mov ecx, dword [ebp - 0x130]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x47ace9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x47c33f
push edx
push ecx
call fcn.004cb66f
add esp, 8
xor eax, eax
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 7
mov word [ebp - 0x130], ax
call fcn.00433fc0
mov eax, dword [eax]
cmp dword [eax], 0
je 0x47ae75
cmp dword [ebp - 0x32c], 8
lea eax, [ebp - 0x340]
lea edx, [ebp - 0x178]
mov dword [ebp - 0x178], 0x80728043
cmovae eax, dword [ebp - 0x340]
lea ecx, [ebp - 0x3e8]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x174], 0x80618065
mov dword [ebp - 0x170], 0x80698074
mov dword [ebp - 0x16c], 0x8067806e
mov dword [ebp - 0x168], 0x80698020
mov dword [ebp - 0x164], 0x8066806e
mov dword [ebp - 0x160], 0x8020806f
mov dword [ebp - 0x15c], 0x80698066
mov dword [ebp - 0x158], 0x8065806c
mov dword [ebp - 0x154], 0x8020803a
mov dword [ebp - 0x150], 0x807d807b
mov dword [ebp - 0x14c], 0x8000
call fcn.00416fb0
or edi, 0x8000000
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x3e8]
or edi, 8
lea edx, [ebp - 0x5a4]
cmp dword [ebp - 0x3d4], 8
lea ecx, [ebp - 0x550]
mov dword [ebp - 0x58c], edi
cmovae eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x5a4], eax
lea eax, [ebp - 0x590]
push eax
call fcn.004177d0
add esp, 4
mov dword [ebp - 4], 0x25
lea ecx, [ebp - 0x430]
or edi, 0x10
push eax
mov dword [ebp - 0x58c], edi
call fcn.0043a3c0
or edi, 0x10000000
mov dword [ebp - 4], 0x26
lea esi, [ebp - 0x430]
or edi, 0x20
cmp dword [ebp - 0x41c], 8
mov dword [ebp - 0x588], edi
cmovae esi, dword [ebp - 0x430]
mov dword [ebp - 0x58c], edi
call fcn.00433fc0
push esi
push 0
push 0x519280
push 0
push eax
call fcn.00436d10
mov esi, dword [ebp - 0x5b8]
add esp, 0x14
mov eax, dword [ebp - 0x588]
test al, 0x20
je 0x47ae99
and eax, 0xffffffdf
lea ecx, [ebp - 0x430]
mov dword [ebp - 0x588], eax
call fcn.0043b020
mov eax, dword [ebp - 0x588]
test al, 0x10
je 0x47aeb7
and eax, 0xffffffef
lea ecx, [ebp - 0x550]
mov dword [ebp - 0x588], eax
call fcn.0043b020
mov eax, dword [ebp - 0x588]
mov dword [ebp - 4], 0x23
test al, 8
je 0x47aed6
and eax, 0xfffffff7
lea ecx, [ebp - 0x3e8]
mov dword [ebp - 0x588], eax
call fcn.0043b020
push 0x40
mov dword [ebp - 0x5dc], 0
mov dword [ebp - 0x5d8], 0
call fcn.004cb682
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [ebp - 0x5dc], eax
mov dword [ebp - 0x5d4], 0xffffffff
mov eax, dword [ebp - 0x598]
lea ecx, [ebp - 0x340]
mov byte [ebp - 4], 0x27
cmp dword [ebp - 0x32c], 8
mov eax, dword [eax + 0x34fc]
cmovae ecx, dword [ebp - 0x340]
push dword [eax]
push esi
push ecx
lea ecx, [ebp - 0x5dc]
call fcn.00464930
test eax, eax
jne 0x47b0a3
lea edx, [ebp - 0x78]
mov dword [ebp - 0x78], 0x80618057
lea ecx, [ebp - 0x2b0]
mov dword [ebp - 0x74], 0x806e8072
mov dword [ebp - 0x70], 0x806e8069
mov dword [ebp - 0x6c], 0x802c8067
mov dword [ebp - 0x68], 0x80758020
mov dword [ebp - 0x64], 0x8061806e
mov dword [ebp - 0x60], 0x806c8062
mov dword [ebp - 0x5c], 0x80208065
mov dword [ebp - 0x58], 0x806f8074
mov dword [ebp - 0x54], 0x80638020
mov dword [ebp - 0x50], 0x80658072
mov dword [ebp - 0x4c], 0x80748061
mov dword [ebp - 0x48], 0x80208065
mov dword [ebp - 0x44], 0x80728063
mov dword [ebp - 0x40], 0x80738061
mov dword [ebp - 0x3c], 0x80208068
mov dword [ebp - 0x38], 0x806e8069
mov dword [ebp - 0x34], 0x806f8066
mov dword [ebp - 0x30], 0x80668020
mov dword [ebp - 0x2c], 0x806c8069
mov dword [ebp - 0x28], 0x80008065
mov word [ebp - 0x24], ax
call fcn.00416fb0
mov edi, dword [ebp - 0x588]
or edi, 0x20000000
mov byte [ebp - 4], 0x28
lea eax, [ebp - 0x2b0]
cmp dword [ebp - 0x29c], 8
lea edx, [ebp - 0x590]
lea ecx, [ebp - 0x448]
cmovae eax, dword [ebp - 0x2b0]
mov dword [ebp - 0x590], eax
call fcn.00417750
push eax
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x29
call fcn.0043a3c0
or edi, 0x40000000
mov dword [ebp - 0x588], edi
mov byte [ebp - 4], 0x2a
lea esi, [ebp - 0x2c8]
cmp dword [ebp - 0x2b4], 8
cmovae esi, dword [ebp - 0x2c8]
call fcn.00433fc0
push esi
push 0
push 0x519280
push 8
push eax
call fcn.00436d10
add esp, 0x14
lea ecx, [ebp - 0x2c8]
call fcn.0043b020
lea ecx, [ebp - 0x448]
call fcn.0043b020
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x27
call fcn.0043b020
jmp 0x47b21e
push eax
lea ecx, [ebp - 0x5fc]
call fcn.0044ec00
test al, al
jne 0x47b218
xor eax, eax
mov dword [ebp - 0x78], 0x80618057
lea edx, [ebp - 0x78]
mov dword [ebp - 0x74], 0x806e8072
lea ecx, [ebp - 0x2c8]
mov dword [ebp - 0x70], 0x806e8069
mov dword [ebp - 0x6c], 0x802c8067
mov dword [ebp - 0x68], 0x80668020
mov dword [ebp - 0x64], 0x80698061
mov dword [ebp - 0x60], 0x8065806c
mov dword [ebp - 0x5c], 0x80208064
mov dword [ebp - 0x58], 0x806f8074
mov dword [ebp - 0x54], 0x80618020
mov dword [ebp - 0x50], 0x80648064
mov dword [ebp - 0x4c], 0x80698020
mov dword [ebp - 0x48], 0x8066806e
mov dword [ebp - 0x44], 0x8020806f
mov dword [ebp - 0x40], 0x80698066
mov dword [ebp - 0x3c], 0x8065806c
mov dword [ebp - 0x38], 0x80748020
mov dword [ebp - 0x34], 0x8020806f
mov dword [ebp - 0x30], 0x80728061
mov dword [ebp - 0x2c], 0x80688063
mov dword [ebp - 0x28], 0x80768069
mov dword [ebp - 0x24], 0x80008065
mov word [ebp - 0x20], ax
call fcn.00416fb0
mov edi, dword [ebp - 0x588]
or edi, 0x80000000
mov dword [ebp - 0x588], edi
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x2c8]
cmp dword [ebp - 0x2b4], 8
lea edx, [ebp - 0x590]
lea ecx, [ebp - 0x448]
cmovae eax, dword [ebp - 0x2c8]
mov dword [ebp - 0x590], eax
call fcn.00417750
push eax
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 0x2c
call fcn.0043a3c0
mov edx, 1
mov dword [ebp - 0x5b4], edx
mov byte [ebp - 4], 0x2d
lea esi, [ebp - 0x2b0]
cmp dword [ebp - 0x29c], 8
cmovae esi, dword [ebp - 0x2b0]
call fcn.00433fc0
push esi
push 0
push 0x519280
push 8
push eax
call fcn.00436d10
add esp, 0x14
lea ecx, [ebp - 0x2b0]
call fcn.0043b020
lea ecx, [ebp - 0x448]
call fcn.0043b020
lea ecx, [ebp - 0x2c8]
mov byte [ebp - 4], 0x27
call fcn.0043b020
jmp 0x47b21e
mov edi, dword [ebp - 0x588]
mov eax, dword [ebp - 0x598]
mov eax, dword [eax + 0x34fc]
mov eax, dword [eax]
cmp byte [eax + 0x20400], 0
je 0x47bade
mov dword [ebp - 0x118], 0
push 0xa
xor eax, eax
mov dword [ebp - 0x108], 0
push 0x5192f8
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x104], 7
mov word [ebp - 0x118], ax
mov byte [ebp - 4], 0x27
call fcn.0043add0
mov esi, dword [ebp - 0x5b4]
or esi, 6
lea eax, [ebp - 0x460]
mov byte [ebp - 4], 0x2f
push eax
lea ecx, [ebp - 0x4a8]
call fcn.0043a3c0
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x30
push eax
lea ecx, [ebp - 0x4a8]
call fcn.00438f10
push eax
lea ecx, [ebp - 0x4d8]
call fcn.0043a3c0
or esi, 8
lea ecx, [ebp - 0x4a8]
mov dword [ebp - 0x5b4], esi
call fcn.0043b020
mov eax, dword [ebp - 0x104]
cmp eax, 8
jb 0x47b2e9
inc eax
lea ecx, [ebp - 0x118]
push eax
push dword [ebp - 0x118]
call fcn.0043afe0
mov byte [ebp - 0x581], 0
mov dword [ebp - 0x614], 0
mov dword [ebp - 0x610], 0
mov dword [ebp - 0x60c], 0
lea eax, [ebp - 0x5f0]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0x4d8]
push eax
lea ecx, [ebp - 0x5c8]
call fcn.00437b70
mov eax, dword [ebp - 0x5c4]
mov dword [ebp - 0x594], eax
test eax, eax
je 0x47b34b
lock inc dword [eax + 4]
mov eax, dword [ebp - 0x5c4]
mov dword [ebp - 0x594], eax
mov esi, dword [ebp - 0x5c8]
mov dword [ebp - 0x5ac], esi
mov dword [ebp - 0x5a8], eax
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [ebp - 0x5c4]
test eax, eax
je 0x47b37d
lock inc dword [eax + 4]
mov eax, dword [ebp - 0x5c8]
mov dword [ecx], eax
mov eax, dword [ebp - 0x5c4]
mov dword [ecx + 4], eax
lea ecx, [ebp - 0x608]
call fcn.00437630
add esp, 8
mov byte [ebp - 4], 0x36
cmp esi, dword [ebp - 0x608]
je 0x47b430
nop dword [eax]
push 3
lea eax, [ebp - 0x644]
mov ecx, esi
push eax
call fcn.00432df0
cmp dword [ebp - 0x644], 2
mov eax, dword [ebp - 0x63c]
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 0x5ec], 0x534b30
jne 0x47b40f
cmp dword [esi + 0x34], 8
lea eax, [esi + 0x20]
jb 0x47b3ea
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x614]
call fcn.0044e410
test al, al
jne 0x47b408
cmp byte [ebp - 0x581], al
mov byte [ebp - 0x581], al
je 0x47b40f
mov byte [ebp - 0x581], 1
lea ecx, [ebp - 0x5ac]
call fcn.00437600
mov esi, dword [ebp - 0x5ac]
cmp esi, dword [ebp - 0x608]
jne 0x47b3b0
mov esi, dword [ebp - 0x5a8]
jmp 0x47b436
mov esi, dword [ebp - 0x594]
mov ecx, dword [ebp - 0x604]
or eax, 0xffffffff
mov dword [ebp - 0x59c], ecx
test ecx, ecx
je 0x47b46c
lock xadd dword [ecx + 4], eax
jne 0x47b469
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x59c]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x47b469
mov eax, dword [ecx]
call dword [eax + 4]
or eax, 0xffffffff
test esi, esi
je 0x47b48e
lock xadd dword [esi + 4], eax
jne 0x47b48e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x47b48e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp - 0x5c4]
test esi, esi
je 0x47b4b9
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x47b4b9
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x47b4b9
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea eax, [ebp - 0xe8]
mov dword [ebp - 0x5a0], eax
call fcn.004b4e9c
mov dword [ebp - 0x59c], eax
mov dword [ebp - 0xe8], 0
xor ecx, ecx
mov dword [ebp - 4], 0x38
push ecx
push ecx
mov byte [ebp - 4], 0x37
mov edx, dword [ebp - 0x5b4]
push 0xa
push 0x519310
or edx, 0x40
mov dword [ebp - 0xd8], 0
push eax
mov dword [ebp - 0xd4], 7
mov word [ebp - 0xe8], cx
mov dword [ebp - 0x5a8], edx
call fcn.004b4eb9
mov esi, eax
test edx, edx
jne 0x47c344
mov ecx, dword [ebp - 0xd8]
cmp esi, ecx
ja 0x47b556
cmp dword [ebp - 0xd4], 8
lea eax, [ebp - 0xe8]
mov dword [ebp - 0xd8], esi
cmovae eax, dword [ebp - 0xe8]
xor ecx, ecx
mov word [eax + esi*2], cx
jmp 0x47b568
mov eax, esi
sub eax, ecx
lea ecx, [ebp - 0xe8]
push 0
push eax
call fcn.0043a760
cmp dword [ebp - 0xd4], 8
lea eax, [ebp - 0xe8]
push esi
cmovae eax, dword [ebp - 0xe8]
push eax
push 0xa
push 0x519310
push dword [ebp - 0x59c]
call fcn.004b4eb9
test edx, edx
jne 0x47c34b
mov dword [ebp - 4], 0x33
mov dword [ebp - 0x100], edx
push 9
xor eax, eax
mov dword [ebp - 0xf0], edx
push 0x51931c
lea ecx, [ebp - 0x100]
mov dword [ebp - 0xec], 7
mov word [ebp - 0x100], ax
mov byte [ebp - 4], 0x39
call fcn.0043add0
lea eax, [ebp - 0x460]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [ebp - 0x478]
call fcn.0043a3c0
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [ebp - 0x478]
call fcn.00438f10
push eax
lea ecx, [ebp - 0x538]
call fcn.0043a3c0
lea ecx, [ebp - 0x478]
call fcn.0043b020
lea eax, [ebp - 0xe8]
mov byte [ebp - 4], 0x3d
push eax
lea edx, [ebp - 0x538]
lea ecx, [ebp - 0x4f0]
call fcn.004390b0
add esp, 4
lea ecx, [ebp - 0x538]
call fcn.0043b020
mov eax, dword [ebp - 0xec]
cmp eax, 8
jb 0x47b65f
inc eax
lea ecx, [ebp - 0x100]
push eax
push dword [ebp - 0x100]
call fcn.0043afe0
xor eax, eax
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 7
mov word [ebp - 0x100], ax
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0xd4]
cmp eax, 8
jb 0x47b69e
inc eax
lea ecx, [ebp - 0xe8]
push eax
push dword [ebp - 0xe8]
call fcn.0043afe0
xor eax, eax
mov dword [ebp - 0xd8], 0
mov word [ebp - 0xe8], ax
lea ecx, [ebp - 0x5d0]
lea eax, [ebp - 0x5f0]
mov dword [ebp - 0xd4], 7
push eax
lea eax, [ebp - 0x4f0]
push eax
call fcn.00437b70
mov eax, dword [ebp - 0x5cc]
mov dword [ebp - 0x594], eax
test eax, eax
je 0x47b6f4
lock inc dword [eax + 4]
mov eax, dword [ebp - 0x5cc]
mov dword [ebp - 0x594], eax
mov esi, dword [ebp - 0x5d0]
mov dword [ebp - 0x5c0], esi
mov dword [ebp - 0x5bc], eax
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [ebp - 0x5cc]
test eax, eax
je 0x47b726
lock inc dword [eax + 4]
mov eax, dword [ebp - 0x5d0]
mov dword [ecx], eax
mov eax, dword [ebp - 0x5cc]
mov dword [ecx + 4], eax
lea ecx, [ebp - 0x5e8]
call fcn.00437630
add esp, 8
mov byte [ebp - 4], 0x44
cmp esi, dword [ebp - 0x5e8]
je 0x47b7d9
push 3
lea eax, [ebp - 0x65c]
mov ecx, esi
push eax
call fcn.00432df0
mov edx, dword [ebp - 0x654]
mov eax, dword [ebp - 0x65c]
test edx, edx
je 0x47b783
cmp eax, 1
je 0x47b783
cmp eax, 9
jne 0x47c352
cmp eax, 2
jne 0x47b7b8
cmp dword [esi + 0x34], 8
lea eax, [esi + 0x20]
jb 0x47b793
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x614]
call fcn.0044e410
test al, al
jne 0x47b7b1
cmp byte [ebp - 0x581], al
mov byte [ebp - 0x581], al
je 0x47b7b8
mov byte [ebp - 0x581], 1
lea ecx, [ebp - 0x5c0]
call fcn.00437600
mov esi, dword [ebp - 0x5c0]
cmp esi, dword [ebp - 0x5e8]
jne 0x47b755
mov esi, dword [ebp - 0x5bc]
jmp 0x47b7df
mov esi, dword [ebp - 0x594]
lea ecx, [ebp - 0x5e8]
call fcn.00413590
test esi, esi
je 0x47b810
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x47b810
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x47b810
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
lea ecx, [ebp - 0x5d0]
mov byte [ebp - 4], 0x41
call fcn.00413590
cmp byte [ebp - 0x581], 0
je 0x47bab9
sub esp, 8
lea ecx, [ebp - 0x508]
call fcn.0047f880
lea eax, [ebp - 0x508]
mov byte [ebp - 4], 0x45
push eax
lea edx, [ebp - 0x358]
lea ecx, [ebp - 0x580]
call fcn.004390b0
add esp, 4
lea ecx, [ebp - 0x280]
push eax
call fcn.00439500
lea ecx, [ebp - 0x580]
call fcn.0043b020
lea ecx, [ebp - 0x508]
mov byte [ebp - 4], 0x41
call fcn.0043b020
lea eax, [ebp - 0x280]
mov dword [ebp - 0x5b0], 0
push eax
lea ecx, [ebp - 0x520]
call fcn.0043a3c0
lea eax, [ebp - 0x5b0]
mov byte [ebp - 4], 0x46
push eax
push 1
lea eax, [ebp - 0x520]
push eax
lea ecx, [ebp - 0x614]
call fcn.0044ff30
lea ecx, [ebp - 0x520]
mov byte [ebp - 0x581], al
mov byte [ebp - 4], 0x41
call fcn.0043b020
cmp byte [ebp - 0x581], 0
je 0x47baad
call fcn.00433fc0
mov eax, dword [eax]
cmp dword [eax], 0
je 0x47ba2f
lea edx, [ebp - 0x1f4]
mov dword [ebp - 0x1f4], 0x80648041
lea ecx, [ebp - 0x400]
mov dword [ebp - 0x1f0], 0x80698064
mov dword [ebp - 0x1ec], 0x8067806e
mov dword [ebp - 0x1e8], 0x80778020
mov dword [ebp - 0x1e4], 0x806c8073
mov dword [ebp - 0x1e0], 0x80628069
mov dword [ebp - 0x1dc], 0x806c8020
mov dword [ebp - 0x1d8], 0x8067806f
mov dword [ebp - 0x1d4], 0x80208073
mov dword [ebp - 0x1d0], 0x806f8074
mov dword [ebp - 0x1cc], 0x80618020
mov dword [ebp - 0x1c8], 0x80638072
mov dword [ebp - 0x1c4], 0x80698068
mov dword [ebp - 0x1c0], 0x80658076
mov dword [ebp - 0x1bc], 0x8000
call fcn.00416fb0
mov byte [ebp - 4], 0x47
lea eax, [ebp - 0x400]
or edi, 0x40
lea edx, [ebp - 0x5a8]
cmp dword [ebp - 0x3ec], 8
lea ecx, [ebp - 0x568]
mov dword [ebp - 0x58c], edi
cmovae eax, dword [ebp - 0x400]
mov dword [ebp - 0x5a8], eax
call fcn.00417750
mov dword [ebp - 4], 0x48
lea ecx, [ebp - 0x418]
or edi, 0x80
push eax
mov dword [ebp - 0x58c], edi
call fcn.0043a3c0
mov dword [ebp - 4], 0x49
lea esi, [ebp - 0x418]
or edi, 0x100
cmp dword [ebp - 0x404], 8
mov dword [ebp - 0x588], edi
cmovae esi, dword [ebp - 0x418]
mov dword [ebp - 0x58c], edi
call fcn.00433fc0
push esi
push 0
push 0x519280
push 0
push eax
call fcn.00436d10
add esp, 0x14
mov eax, dword [ebp - 0x588]
test eax, 0x100
je 0x47ba58
and eax, 0xfffffeff
lea ecx, [ebp - 0x418]
mov dword [ebp - 0x588], eax
call fcn.0043b020
mov eax, dword [ebp - 0x588]
test al, al
jns 0x47ba78
and eax, 0xffffff7f
lea ecx, [ebp - 0x568]
mov dword [ebp - 0x588], eax
call fcn.0043b020
mov eax, dword [ebp - 0x588]
mov dword [ebp - 4], 0x41
test al, 0x40
je 0x47ba8e
lea ecx, [ebp - 0x400]
call fcn.0043b020
push dword [ebp - 0x5b0]
lea ecx, [ebp - 0x5fc]
call fcn.0044ec00
mov esi, dword [ebp - 0x26c]
mov dword [ebp - 0x5b0], esi
jmp 0x47bab9
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x5b0], eax
lea ecx, [ebp - 0x4f0]
call fcn.0043b020
lea ecx, [ebp - 0x614]
call fcn.004504e0
lea ecx, [ebp - 0x4d8]
mov byte [ebp - 4], 0x27
call fcn.0043b020
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x268]
call fcn.0043a3c0
push 4
push 0x519330
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x4a
call fcn.0043a570
mov edi, dword [ebp - 0x598]
lea ecx, [edi + 0x350c]
call fcn.0047efc0
mov esi, eax
mov eax, edi
mov ecx, dword [eax + 0x34fc]
lea eax, [ebp - 0x268]
push eax
mov ecx, dword [ecx]
cmp byte [ecx + 0x2674a], 0
sete cl
mov byte [ebp - 0x5a8], cl
lea ecx, [ebp - 0x4c0]
call fcn.0043a3c0
push esi
mov byte [ebp - 4], 0x4b
lea eax, [ebp - 0x4c0]
push dword [ebp - 0x5a8]
lea ecx, [ebp - 0x5fc]
push eax
call fcn.0044ff30
lea ecx, [ebp - 0x4c0]
mov byte [ebp - 0x581], al
mov byte [ebp - 4], 0x4a
call fcn.0043b020
cmp byte [ebp - 0x581], 0
jne 0x47bd03
cmp dword [ebp - 0x254], 8
lea eax, [ebp - 0x268]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0x80728045
cmovae eax, dword [ebp - 0x268]
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x5a8], eax
xor eax, eax
mov dword [ebp - 0xc4], 0x806f8072
mov dword [ebp - 0xc0], 0x802c8072
mov dword [ebp - 0xbc], 0x80668020
mov dword [ebp - 0xb8], 0x80698061
mov dword [ebp - 0xb4], 0x8065806c
mov dword [ebp - 0xb0], 0x80208064
mov dword [ebp - 0xac], 0x806f8074
mov dword [ebp - 0xa8], 0x80638020
mov dword [ebp - 0xa4], 0x80658072
mov dword [ebp - 0xa0], 0x80748061
mov dword [ebp - 0x9c], 0x80208065
mov dword [ebp - 0x98], 0x80728061
mov dword [ebp - 0x94], 0x80688063
mov dword [ebp - 0x90], 0x80768069
mov dword [ebp - 0x8c], 0x803a8065
mov dword [ebp - 0x88], 0x807b8020
mov dword [ebp - 0x84], 0x8000807d
mov word [ebp - 0x80], ax
call fcn.00416fb0
mov byte [ebp - 4], 0x4c
lea eax, [ebp - 0x298]
cmp dword [ebp - 0x284], 8
lea edx, [ebp - 0x590]
lea ecx, [ebp - 0x3b8]
cmovae eax, dword [ebp - 0x298]
mov dword [ebp - 0x590], eax
lea eax, [ebp - 0x5a8]
push eax
call fcn.004177d0
add esp, 4
push eax
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 0x4d
call fcn.0043a3c0
mov byte [ebp - 4], 0x4e
lea esi, [ebp - 0x370]
cmp dword [ebp - 0x35c], 8
cmovae esi, dword [ebp - 0x370]
call fcn.00433fc0
push esi
push 0
push 0x519280
push 8
push eax
call fcn.00436d10
add esp, 0x14
lea ecx, [ebp - 0x370]
call fcn.0043b020
lea ecx, [ebp - 0x3b8]
call fcn.0043b020
lea ecx, [ebp - 0x298]
jmp 0x47be5d
mov edx, dword [edi + 0x350c]
test edx, edx
je 0x47bdc2
cmp edx, 0xffffffff
je 0x47bdc2
mov eax, dword [ebp - 0x598]
mov eax, dword [eax + 0x34fc]
mov esi, dword [eax]
add esi, 0x19918
mov dword [esi], edx
mov ecx, dword [edi + 0x350c]
call fcn.004696d0
mov dword [esi + 0x1210], eax
lea eax, [ebp - 0x268]
mov dword [esi + 0x1214], edx
cmp dword [ebp - 0x254], 8
cmovae eax, dword [ebp - 0x268]
push eax
lea eax, [esi + 0x20c]
push 0x800
push eax
call fcn.004dd3fa
add esp, 0xc
lea eax, [ebp - 0x3b8]
lea ecx, [ebp - 0x268]
push eax
call fcn.00437380
cmp dword [eax + 0x14], 8
jb 0x47bd8a
mov eax, dword [eax]
push eax
lea eax, [esi + 4]
push 0x104
push eax
call fcn.004dd3fa
add esp, 0xc
lea ecx, [ebp - 0x3b8]
call fcn.0043b020
mov ecx, dword [ebp - 0x5b8]
mov byte [ebp - 0x581], 1
mov al, byte [ecx + 0xc]
mov byte [esi + 0x1218], al
jmp 0x47be69
lea eax, [ebp - 0x370]
mov dword [ebp - 0x5a8], edx
push eax
call fcn.0047c360
mov byte [ebp - 4], 0x4f
cmp dword [eax + 0x14], 8
jb 0x47bde0
mov eax, dword [eax]
mov dword [ebp - 0x590], eax
lea edx, [ebp - 0x590]
lea eax, [ebp - 0x5a8]
push eax
lea ecx, [ebp - 0x3b8]
call fcn.004641e0
add esp, 4
push eax
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0x50
call fcn.0043a3c0
mov byte [ebp - 4], 0x51
lea esi, [ebp - 0x298]
cmp dword [ebp - 0x284], 8
cmovae esi, dword [ebp - 0x298]
call fcn.00433fc0
push esi
push 0
push 0x519280
push 8
push eax
call fcn.00436d10
add esp, 0x14
lea ecx, [ebp - 0x298]
call fcn.0043b020
lea ecx, [ebp - 0x3b8]
call fcn.0043b020
lea ecx, [ebp - 0x370]
call fcn.0043b020
mov byte [ebp - 0x581], 0
lea ecx, [ebp - 0x268]
call fcn.0043b020
mov eax, dword [ebp - 0x5d4]
cmp eax, 0xffffffff
je 0x47be8a
test eax, eax
je 0x47be8a
push eax
call dword [0x504048]
mov eax, dword [ebp - 0x5dc]
push dword [eax + 4]
lea eax, [ebp - 0x5dc]
push eax
mov ecx, eax
call fcn.004667e0
push 0x40
push dword [ebp - 0x5dc]
call fcn.004cb66f
add esp, 8
lea ecx, [ebp - 0x340]
call fcn.0043b020
lea ecx, [ebp - 0x358]
call fcn.0043b020
lea ecx, [ebp - 0x5fc]
call fcn.004504e0
mov eax, dword [ebp - 0x134]
cmp eax, 8
jb 0x47bef0
inc eax
lea ecx, [ebp - 0x148]
push eax
push dword [ebp - 0x148]
call fcn.0043afe0
xor eax, eax
mov dword [ebp - 0x138], 0
lea ecx, [ebp - 0x460]
mov dword [ebp - 0x134], 7
mov word [ebp - 0x148], ax
call fcn.0043b020
mov eax, dword [ebp - 0x5b0]
cmp eax, 8
jb 0x47bf38
lea ecx, [eax + 1]
push ecx
push dword [ebp - 0x280]
lea ecx, [ebp - 0x280]
call fcn.0043afe0
lea ecx, [ebp - 0x630]
call fcn.004331a0
mov al, byte [ebp - 0x581]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004cb63e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0x517e54
call fcn.0043a210
push eax
push dword [ebp - 0x59c]
lea ecx, [ebp - 0x64c]
call fcn.00480d80
push 0x52e0e0
lea eax, [ebp - 0x64c]
push eax
call fcn.004cd21b
push 0x517e54
call fcn.0043a210
push eax
push 0x7a
lea ecx, [ebp - 0x664]
call fcn.00480d80
push 0x52e0e0
lea eax, [ebp - 0x664]
push eax
call fcn.004cd21b
push 0x538e30
call fcn.004cb7e5
add esp, 4
cmp dword [0x538e30], 0xffffffff
jne 0x47a2cf
push ecx
push 0x538e68
mov byte [ebp - 4], 9
push ecx
mov dword [0x538e68], 0
mov ecx, 0x538e70
mov dword [0x538e6c], 0
call fcn.00433630
push ecx
push 0x538e68
push ecx
mov ecx, 0x538ea8
mov byte [ebp - 4], 0xa
call fcn.00433630
mov byte [ebp - 4], 0xb
push 0x50
mov dword [0x538ee0], 0x538e70
call fcn.004cb682
add esp, 4
mov dword [ebp - 0x634], eax
push str.BDREINIT
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.004337a0
mov edx, eax
mov byte [ebp - 4], 0xb
mov dword [0x538ee4], edx
test edx, edx
je 0x47c0ad
mov esi, dword [edx]
mov dword [0x538e40], esi
mov ecx, dword [edx + 4]
mov dword [0x538e44], ecx
mov eax, dword [edx + 8]
mov dword [0x538e48], eax
mov eax, dword [edx + 0xc]
mov dword [0x538e4c], eax
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [0x538e50], eax
mov dword [0x538e54], ecx
mov eax, dword [edx + 0x30]
mov ecx, dword [edx + 0x34]
add edx, 0x10
mov dword [0x538e58], eax
mov dword [0x538e5c], ecx
cmp dword [edx + 0x14], 8
jb 0x47c0a5
mov edx, dword [edx]
jmp 0x47c0a5
mov dword [0x538e60], edx
jmp 0x47c0b3
mov esi, dword [0x538e40]
test byte [esi], 2
je 0x47c0c4
mov ecx, 0x538e70
call fcn.00435140
jmp 0x47c0c4
push 0x502ec0
call fcn.004cbaf7
add esp, 4
mov byte [ebp - 4], 8
push 0x538e30
call fcn.004cb79b
add esp, 4
jmp 0x47a2cf
push 0x538e30
call fcn.004cb7e5
add esp, 4
cmp dword [0x538e30], 0xffffffff
jne 0x47a4fb
push ecx
push 0x538e68
mov dword [ebp - 4], 0x10
push ecx
mov dword [0x538e68], 0
mov ecx, 0x538e70
mov dword [0x538e6c], 0
call fcn.00433630
push ecx
push 0x538e68
push ecx
mov ecx, 0x538ea8
mov byte [ebp - 4], 0x11
call fcn.00433630
mov byte [ebp - 4], 0x12
push 0x50
mov dword [0x538ee0], 0x538e70
call fcn.004cb682
add esp, 4
mov dword [ebp - 0x650], eax
push str.BDREINIT
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.004337a0
mov edx, eax
mov byte [ebp - 4], 0x12
mov dword [0x538ee4], edx
test edx, edx
je 0x47c1d8
mov esi, dword [edx]
mov dword [0x538e40], esi
mov ecx, dword [edx + 4]
mov dword [0x538e44], ecx
mov eax, dword [edx + 8]
mov dword [0x538e48], eax
mov eax, dword [edx + 0xc]
mov dword [0x538e4c], eax
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [0x538e50], eax
mov dword [0x538e54], ecx
mov eax, dword [edx + 0x30]
mov ecx, dword [edx + 0x34]
add edx, 0x10
mov dword [0x538e58], eax
mov dword [0x538e5c], ecx
cmp dword [edx + 0x14], 8
jb 0x47c1d0
mov edx, dword [edx]
jmp 0x47c1d0
mov dword [0x538e60], edx
jmp 0x47c1de
mov esi, dword [0x538e40]
test byte [esi], 2
je 0x47c1ef
mov ecx, 0x538e70
call fcn.00435140
jmp 0x47c1ef
push 0x502ec0
call fcn.004cbaf7
add esp, 4
mov byte [ebp - 4], 0xf
push 0x538e30
call fcn.004cb79b
add esp, 4
jmp 0x47a4fb
push 0x538e30
call fcn.004cb7e5
add esp, 4
cmp dword [0x538e30], 0xffffffff
jne 0x47a7e2
push ecx
push 0x538e68
mov byte [ebp - 4], 0x17
push ecx
mov dword [0x538e68], 0
mov ecx, 0x538e70
mov dword [0x538e6c], 0
call fcn.00433630
push ecx
push 0x538e68
push ecx
mov ecx, 0x538ea8
mov byte [ebp - 4], 0x18
call fcn.00433630
mov byte [ebp - 4], 0x19
push 0x50
mov dword [0x538ee0], 0x538e70
call fcn.004cb682
add esp, 4
mov dword [ebp - 0x5a0], eax
push str.BDREINIT
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.004337a0
mov edx, eax
mov byte [ebp - 4], 0x19
mov dword [0x538ee4], edx
test edx, edx
je 0x47c300
mov esi, dword [edx]
mov dword [0x538e40], esi
mov ecx, dword [edx + 4]
mov dword [0x538e44], ecx
mov eax, dword [edx + 8]
mov dword [0x538e48], eax
mov eax, dword [edx + 0xc]
mov dword [0x538e4c], eax
mov eax, dword [edx + 0x28]
mov ecx, dword [edx + 0x2c]
mov dword [0x538e50], eax
mov dword [0x538e54], ecx
mov eax, dword [edx + 0x30]
mov ecx, dword [edx + 0x34]
add edx, 0x10
mov dword [0x538e58], eax
mov dword [0x538e5c], ecx
cmp dword [edx + 0x14], 8
jb 0x47c2f8
mov edx, dword [edx]
jmp 0x47c2f8
mov dword [0x538e60], edx
jmp 0x47c306
mov esi, dword [0x538e40]
test byte [esi], 2
je 0x47c317
mov ecx, 0x538e70
call fcn.00435140
jmp 0x47c317
push 0x502ec0
call fcn.004cbaf7
add esp, 4
mov byte [ebp - 4], 0x16
push 0x538e30
call fcn.004cb79b
add esp, 4
jmp 0x47a7e2
call fcn.004d05ef
call fcn.004d05ef
mov ecx, edx
call fcn.004806b0
mov ecx, edx
call fcn.004806b0
lea eax, [esi + 0x20]
push eax
call fcn.00480ce0
int3