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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c8
push esi
xor eax, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x5c], eax
mov esi, edx
push edi
mov dword [esp + 0x14], 0xb26bdde0
mov dword [esp + 0x14], 0xffffffe6
cmp dword [esp + 0x14], 0xf
push 1
mov dword [esp + 0x40], esi
pop edi
jle 0x47ce62
push edi
lea ecx, [esp + 0x110]
call fcn.0041cf5c
mov dword [esp + 0x24], edi
xor eax, eax
mov dword [esp + 0x2c], 0x2949f4ff
mov dword [esp + 0xc], eax
jmp 0x47cdcd
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10c]
mov dword [ecx + edx*4], 0x934f
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x47cdb7
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x47ce05
push eax
push 0x12e3
push 0x807
push 0x1ad7
push 0x26c6
push 0xbd7
push 0x2234
push eax
call dword [0xabd094]
xor eax, eax
cmp dword [esp + 0x14], eax
jne 0x47ce3b
mov ecx, dword [esp + 0x10c]
cmp dword [ecx], eax
jne 0x47ce1a
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp ecx, 0xffffffff
setne dl
cmp esi, edx
jne 0x47ce3d
mov eax, edi
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x10c]
call fcn.0041d2be
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 0xf
jg 0x47cd96
mov esi, dword [esp + 0x3c]
xor eax, eax
mov dword [esp + 0x28], 0xe21a
mov dword [esp + 0x18], eax
jmp 0x47ce80
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x48], 0xffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jl 0x47ce70
mov dword [esp + 0x18], eax
jmp 0x47ce9c
mov ecx, dword [esp + 0x18]
mov dword [esp + ecx*4 + 0x68], 0xffffffff
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 4
jl 0x47ce8c
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x6c], eax
jl 0x47cf3b
mov dword [esp + 0x2c], 0x4edf6b3e
mov dword [esp + 0xc], 0xbf90350d
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x6c]
mov ecx, dword [esp + ecx*4 + 0x48]
mov ecx, dword [esp + 0x6c]
mov ecx, dword [esp + ecx*4 + 0x48]
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x2c], 0xfffffffd
ja 0x47ceec
mov ecx, dword [esp + 0x6c]
mov edx, edi
cmp dword [esp + ecx*4 + 0x48], eax
jne 0x47ceee
mov edx, eax
mov ecx, dword [esp + 0x6c]
mov ecx, dword [esp + ecx*4 + 0x48]
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x28]
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
add ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x6c]
cmp dword [esp + ecx*4 + 0x48], edi
jl 0x47cf2b
mov ecx, eax
cmp dword [esp + 0x28], eax
je 0x47cf2d
mov ecx, edi
mov dword [esp + 0x24], ecx
dec dword [esp + 0x6c]
jns 0x47ceb1
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x47cf53
push 0x826
call dword [0xabd038]
xor eax, eax
mov ecx, dword [0xabb6b0]
test cl, 1
jne 0x47cfdd
push eax
or ecx, edi
mov dword [0xabb670], eax
push eax
mov dword [0xabb6b0], ecx
mov dword [0xabb674], eax
call fcn.0044144a
mov ecx, eax
mov dword [0xabb68c], 0x3f800000
mov dword [0xabb670], ecx
xor eax, eax
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0xac]
push ecx
push 0x10
push eax
mov dword [0xabb678], eax
mov ecx, 0xabb678
mov dword [0xabb680], eax
mov dword [0xabb67c], eax
lea eax, [esp + 0x188]
push eax
call fcn.004411ef
push 0x4c061e
mov dword [0xabb684], 7
mov dword [0xabb688], 8
call fcn.004a4ebf
pop ecx
xor eax, eax
mov dword [esp + 0x1c], 9
mov dword [esp + 0x1c], eax
jmp 0x47d02d
mov dword [esp + 0xc], 0xffffffff
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x47d009
push eax
call dword [section..idata]
xor eax, eax
mov dword [esp + 0xc], 0xffffffec
jmp 0x47d022
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
jne 0x47d064
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0xb
jg 0x47d013
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x19
jne 0x47cfed
imul ecx, dword [esp + 0x4c], 0x2710
add ecx, esi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x18], 0x151c
mov dword [esp + 0x14], 6
mov dword [esp + 0x38], 0x4d07ddbf
mov dword [esp + 0xc], edi
mov dword [esp + 0xc], eax
jmp 0x47d07f
push 0x59d
call dword [0xabd0bc]
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x50], 0x87972e7e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x47d06f
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jbe 0x47d098
mov esi, edi
cmp dword [esp + 0x18], eax
jne 0x47d09a
mov esi, eax
mov ecx, dword [esp + 0x18]
xor edx, edx
cmp ecx, 0xffffffff
mov ecx, dword [esp + 0x18]
setge dl
mov dword [esp + 0x24], edx
xor edx, edx
cmp dword [esp + 0x24], ecx
setg dl
imul edx, esi
xor esi, esi
inc esi
mov dword [esp + 0x14], edx
xor edx, edx
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
cmp ecx, esi
mov ecx, dword [esp + 0x38]
setge dl
sub edx, 5
mov dword [esp + 0x24], edx
xor edx, edx
cmp dword [esp + 0x24], ecx
setg dl
sub edx, 4
jne 0x47d0f5
mov ecx, eax
cmp dword [esp + 0x18], eax
je 0x47d0f7
mov ecx, esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
sub ecx, 0x26b5
neg ecx
push 2
sbb ecx, ecx
inc ecx
pop edi
cmp ecx, dword [esp + 0x18]
je 0x47d15b
mov dword [esp + 0x128], edi
mov dword [esp + 0x12c], edi
mov dword [esp + 0x130], edi
mov dword [esp + 0x134], edi
mov dword [esp + 0x24], 0x3b06d9e9
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x24], eax
jmp 0x47d3ab
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], 0x9588dfef
mov dword [esp + 0x18], eax
jmp 0x47d3a1
mov dword [esp + 0x28], 0xfffc
mov dword [esp + 0x14], edi
cmp dword [esp + 0x14], eax
jl 0x47d397
mov dword [esp + 0x34], 0x5d01
mov dword [esp + 0x38], edi
cmp dword [esp + 0x38], eax
jl 0x47d26e
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + ecx*4 + 0x50]
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x20], eax
je 0x47d1b6
mov edx, esi
cmp dword [esp + 0xc], eax
jne 0x47d1b8
mov edx, eax
mov ecx, dword [esp + 0x20]
add ecx, edx
jne 0x47d1c8
mov ecx, eax
cmp dword [esp + 0x28], eax
je 0x47d1ca
mov ecx, esi
mov edx, dword [esp + 0x34]
sub edx, ecx
mov ecx, dword [esp + 0x18]
neg edx
push 0
sbb edx, edx
mov ecx, dword [esp + ecx*4 + 0x54]
inc edx
sub edx, ecx
mov ecx, 0x997ec53a
cmp ecx, edx
mov ecx, dword [esp + 0x38]
sbb edx, edx
inc edx
cmp edx, ecx
mov ecx, dword [esp + 0x3c]
pop edx
setge dl
push 0
mov dword [esp + ecx*4 + 0x54], edx
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + ecx*4 + 0x54]
mov ecx, dword [esp + 0x24]
cmp ecx, edx
mov ecx, dword [esp + 0x3c]
pop edx
setl dl
cmp dword [esp + ecx*4 + 0x50], edx
je 0x47d227
mov edx, eax
cmp dword [esp + 0x34], eax
je 0x47d229
mov edx, esi
mov ecx, dword [esp + 0x38]
push 1
mov ecx, dword [esp + ecx*4 + 0x54]
add ecx, edx
cmp ecx, 0xfffffffb
sbb ecx, ecx
inc ecx
add ecx, dword [esp + 0x5c]
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 0x20]
sub esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
neg esi
sbb esi, esi
xor edx, edx
inc esi
mov ecx, dword [esp + ecx*4 + 0x54]
cmp ecx, esi
pop esi
setg dl
mov dword [esp + 0xc], edx
dec dword [esp + 0x38]
jns 0x47d19c
mov dword [esp + 0x34], eax
jmp 0x47d383
mov dword [esp + 0x1c], eax
jmp 0x47d290
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x16c], 0xc8b8afe
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 3
jl 0x47d27d
mov dword [esp + 0x1c], eax
jmp 0x47d2ba
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x47d2b6
push eax
push 0x11e2
call dword [0xabd014]
xor eax, eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jle 0x47d29d
mov ecx, dword [esp + 0xc]
xor edx, edx
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + ecx*4 + 0x50]
mov ecx, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
sub ecx, 0x6125f897
cmp ecx, 0x5ac3
setg dl
sub edx, dword [esp + 0x20]
neg edx
sbb edx, edx
inc edx
cmp dword [esp + 0x58], edx
jle 0x47d302
cmp dword [esp + 0xc], eax
jne 0x47d304
mov esi, eax
mov ecx, dword [esp + 0x14]
xor edx, edx
mov ecx, dword [esp + ecx*4 + 0x50]
cmp esi, ecx
mov ecx, dword [esp + 0x20]
setl dl
sub edx, ecx
je 0x47d326
cmp dword [esp + 0x38], eax
je 0x47d326
xor esi, esi
inc esi
jmp 0x47d328
mov esi, eax
mov ecx, dword [esp + 0x14]
xor edx, edx
push 0
mov ecx, dword [esp + ecx*4 + 0x54]
cmp ecx, esi
mov ecx, dword [esp + 0x18]
setg dl
mov dword [esp + ecx*4 + 0x54], edx
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x174]
add edx, 0x97cf
cmp edx, ecx
pop ecx
setne cl
cmp ecx, dword [esp + 0x20]
jne 0x47d376
cmp dword [esp + 0x170], eax
je 0x47d376
xor esi, esi
inc esi
mov ecx, esi
jmp 0x47d37b
xor esi, esi
mov ecx, eax
inc esi
mov dword [esp + 0x1c], ecx
inc dword [esp + 0x34]
cmp dword [esp + 0x34], edi
jle 0x47d277
dec dword [esp + 0x14]
jns 0x47d186
cmp dword [esp + 0x20], eax
jne 0x47d3ab
inc dword [esp + 0x18]
cmp dword [esp + 0x18], edi
jle 0x47d170
lea eax, [esp + 0x78]
push eax
call fcn.0047e633
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test eax, eax
je 0x47d75f
mov dword [esp + 0x18], 0x399841b3
lea ecx, [esp + 0xb0]
mov dword [esp + 0x2c], 0xffffffff
push 3
call fcn.0041cf5c
mov dword [esp + 0x2c], 0xdf2ab2bc
xor eax, eax
mov dword [esp + 0x2c], 5
mov dword [esp + 0x3c], 0xfffffff8
mov dword [esp + 0x30], 0xcffae3c
mov dword [esp + 0xc], eax
jmp 0x47d41b
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + edx*4], eax
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x47d409
mov dword [esp + 0x18], eax
jmp 0x47d518
mov dword [esp + 0x1c], 0xfdad5a51
mov dword [esp + 0x24], esi
cmp dword [esp + 0x1c], eax
jne 0x47d441
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
xor edx, edx
cmp ecx, 0x4a2c
push 0
setge dl
sub edx, dword [esp + 0x20]
add edx, dword [esp + 0x1c]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0xb4]
cmp dword [ecx], edx
pop ecx
setge cl
xor edx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0xb0]
cmp dword [ecx], esi
mov ecx, dword [esp + 0x18]
setle dl
mov dword [esp + 0x3c], edx
xor edx, edx
cmp dword [esp + 0x3c], ecx
setne dl
xor ecx, ecx
cmp edx, esi
setg cl
xor edx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xb0]
mov esi, dword [esp + 0x3c]
sub esi, dword [ecx]
mov ecx, dword [esp + 0x1c]
cmp esi, ecx
setne dl
sub edx, dword [esp + 0x1c]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x1c], edx
xor edx, edx
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x3c5ebb4e
mov ecx, dword [esp + 0x18]
setge dl
sub ecx, edx
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x2c], ecx
jge 0x47d50b
cmp dword [esp + 0x1c], eax
je 0x47d50b
xor esi, esi
inc esi
mov ecx, esi
jmp 0x47d510
xor esi, esi
mov ecx, eax
inc esi
mov dword [esp + 0x3c], ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x18], 0x14
jle 0x47d42b
lea ecx, [esp + 0xb0]
call fcn.0041d2be
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xd0]
mov dword [esp + 0x18], 0xa8eac8b
push esi
mov dword [esp + 0xa4], eax
call fcn.0041cf5c
push edi
lea ecx, [esp + 0xf8]
call fcn.0041cf5c
mov dword [esp + 0x2c], 0x5bc9807
xor eax, eax
mov dword [esp + 0x3c], 0x1f51b437
mov dword [esp + 0x14], eax
jmp 0x47d586
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xd0]
mov dword [ecx + edx*4], esi
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x47d574
mov dword [esp + 0x14], eax
jmp 0x47d5a4
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xf4]
mov dword [ecx + edx*4], eax
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x47d592
mov dword [esp + 0x18], eax
jmp 0x47d662
mov dword [esp + 0x28], 0x864896e6
mov dword [esp + 0x3c], esi
mov dword [esp + 0xc], eax
jmp 0x47d5d5
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x64], 0x5b14
inc dword [esp + 0xc]
cmp dword [esp + 0xc], esi
jl 0x47d5c5
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x64]
sub esi, 0x38e85a7b
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp esi, ecx
mov ecx, dword [esp + 0x64]
setle dl
imul ecx, edx
test ecx, ecx
je 0x47d615
cmp dword [esp + 0x18], eax
je 0x47d615
xor esi, esi
inc esi
mov ecx, esi
jmp 0x47d61a
xor esi, esi
mov ecx, eax
inc esi
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
cmp ecx, edx
push 0
pop ecx
setg cl
xor edx, edx
cmp ecx, 0x56e74e80
setne dl
xor ecx, ecx
cmp edx, 0x302a
mov edx, dword [esp + 0x18]
setne cl
neg edx
mov dword [esp + 0x3c], ecx
sbb edx, edx
xor ecx, ecx
inc edx
cmp edx, dword [esp + 0x3c]
setne cl
mov dword [esp + 0x3c], ecx
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff1
je 0x47d5b3
mov dword [esp + 0x18], eax
cmp dword [esp + 0x18], eax
jl 0x47d742
mov edi, dword [esp + 0xf4]
mov dword [esp + 0xc], 0xba1dd793
mov dword [esp + 0x24], 0xbde6b786
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
cmp edx, ecx
push 0
pop ecx
setne cl
mov dword [edi + 4], edx
sub ecx, 6
xor edx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xc]
setle dl
sub ecx, edx
jne 0x47d6ca
cmp dword [edi + 4], eax
jne 0x47d6ca
mov edx, eax
jmp 0x47d6cd
xor edx, edx
inc edx
mov ecx, dword [esp + 0xd0]
mov esi, 0xef23
mov dword [ecx], esi
xor ecx, ecx
cmp edx, esi
setl cl
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x2c], eax
jne 0x47d6f6
cmp dword [esp + 0xc], eax
jne 0x47d6f6
mov edx, eax
jmp 0x47d6f9
xor edx, edx
inc edx
xor ecx, ecx
test edx, edx
sete cl
neg ecx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
sub ecx, dword [esp + 0x18]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, dword [esp + 0x24]
jne 0x47d72e
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xd0]
cmp dword [ecx + edx*4], eax
je 0x47d72e
xor ecx, ecx
inc ecx
jmp 0x47d730
mov ecx, eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xc]
dec dword [esp + 0x18]
jns 0x47d682
lea ecx, [esp + 0xf4]
call fcn.0041d2be
lea ecx, [esp + 0xd0]
call fcn.0041d2be
jmp 0x47e5af
mov dword [esp + 0x20], 0xbf34fda
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], 0x1dfd9475
mov dword [esp + 0x14], 0x5e790e86
mov dword [esp + 0x24], 0xa7b051af
mov dword [esp + 0x2c], 0xc9ca3191
mov dword [esp + 0xc], 0x4e80031a
mov dword [esp + 0x30], 0xf9f6d65d
cmp dword [esp + 0x20], eax
jne 0x47d7ef
mov ecx, dword [esp + 0x20]
neg ecx
push eax
sbb ecx, ecx
neg ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
cmp edx, ecx
pop ecx
setl cl
cmp ecx, 0xb8f3d421
sbb ecx, ecx
inc ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
imul ecx, dword [esp + 0x1c], 0xfff7
test ecx, ecx
mov ecx, eax
je 0x47d7f1
mov ecx, esi
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0xc], ecx
mov dword [esp + 0xc], eax
jmp 0x47d977
mov dword [esp + 0x1c], eax
jmp 0x47d81c
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x44], 0x1f0dfbc4
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x47d80c
mov dword [esp + 0x1c], 3
jmp 0x47d968
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x18], 0xffffffff
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
cmp ecx, edx
push 0
pop ecx
setge cl
xor edx, edx
add ecx, dword [esp + 0x2c]
cmp ecx, 0x694a
mov ecx, dword [esp + 0x44]
push 0
setle dl
cmp ecx, edx
mov ecx, dword [esp + 0x38]
pop edx
setne dl
sub edx, ecx
mov dword [esp + 0x18], edx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
add esi, 0xffff0f53
neg esi
sbb esi, esi
xor edx, edx
inc esi
cmp ecx, esi
mov ecx, dword [esp + 0x44]
setl dl
imul ecx, dword [esp + 0x44]
mov dword [esp + 0x18], edx
xor edx, edx
cmp ecx, dword [esp + 0x18]
setg dl
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x28], eax
je 0x47d907
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x44], 0xd625c2a3
je 0x47d8db
cmp dword [esp + 0x34], eax
je 0x47d8db
xor esi, esi
inc esi
jmp 0x47d8dd
mov esi, eax
mov ecx, dword [esp + 0x44]
xor edx, edx
cmp esi, ecx
setne dl
xor esi, esi
inc esi
mov ecx, esi
sub ecx, edx
jne 0x47d8f5
mov ecx, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov ecx, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jmp 0x47d90a
xor esi, esi
inc esi
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
cmp edx, ecx
push 0
pop ecx
setg cl
xor edx, edx
cmp ecx, 0xd28c
mov ecx, dword [esp + 0x20]
setg dl
mov dword [esp + 0x2c], edx
xor edx, edx
cmp dword [esp + 0x2c], ecx
setg dl
sub edx, dword [esp + 0x30]
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x44]
mov ecx, dword [esp + 0x44]
sub ecx, dword [esp + 0x44]
neg ecx
sbb ecx, ecx
inc ecx
cmp ecx, 0xfffb
sbb ecx, ecx
inc ecx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], ecx
dec dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0xffffffe8
jne 0x47d82f
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 0xfffffffc
jl 0x47d806
mov ecx, dword [0xabb6b0]
test cl, 2
jne 0x47da12
push eax
or ecx, edi
mov dword [0xabb690], eax
push eax
mov dword [0xabb6b0], ecx
mov dword [0xabb694], eax
call fcn.0044144a
mov ecx, eax
mov dword [0xabb6ac], 0x3f800000
mov dword [0xabb690], ecx
xor eax, eax
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0xbc]
push ecx
push 0x10
push eax
mov dword [0xabb698], eax
mov ecx, 0xabb698
mov dword [0xabb6a0], eax
mov dword [0xabb69c], eax
lea eax, [esp + 0x1a8]
push eax
call fcn.004411ef
push 0x4c0619
mov dword [0xabb6a4], 7
mov dword [0xabb6a8], 8
call fcn.004a4ebf
pop ecx
xor eax, eax
xorps xmm0, xmm0
movdqu xmmword [esp + 0x84], xmm0
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x24], 0x309642e4
mov dword [esp + 0xc], eax
jmp 0x47da47
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0xc0], 0xfffffff6
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 4
jl 0x47da34
mov eax, dword [esp + 0xc8]
mov eax, dword [esp + 0xc8]
mov eax, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov eax, dword [esp + 0xc0]
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x30], 0x51978e60
mov eax, dword [esp + 0x30]
dec eax
neg eax
sbb eax, eax
neg eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x4c]
push eax
call fcn.0047e695
push 1
lea ecx, [esp + 0x164]
mov esi, dword [eax]
mov dword [esp + 0x10], 0xfffffff7
mov dword [esp + 0x30], esi
call fcn.0041cf5c
xor eax, eax
mov dword [esp + 0xc], eax
jmp 0x47dade
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x160]
mov dword [ecx + edx*4], 5
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x47dac8
mov dword [esp + 0xc], 3
jmp 0x47db63
mov dword [esp + 0x20], 0x67a876e6
mov dword [esp + 0x20], 0x1c
jmp 0x47db2b
mov dword [esp + 0x1c], eax
jmp 0x47db16
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x194], eax
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jl 0x47db07
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x194], ecx
dec dword [esp + 0x20]
cmp dword [esp + 0x20], 0x16
jne 0x47db01
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], eax
jl 0x47db5f
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x47db59
push 0x529
push 0xb0f
call dword [0xabd1cc]
xor eax, eax
dec dword [esp + 0x20]
jns 0x47db3c
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jne 0x47daef
lea ecx, [esp + 0x160]
call fcn.0041d2be
mov al, byte [ebp + 0xc]
test al, al
jne 0x47db85
test esi, esi
jne 0x47ded4
lea ecx, [esp + 0x1c0]
mov dl, al
push ecx
mov ecx, dword [esp + 0x50]
call fcn.0046d914
mov esi, eax
lea edi, [esp + 0x88]
pop ecx
push 3
lea ecx, [esp + 0x184]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
mov dword [esp + 0x28], 0xe0b4074d
mov dword [esp + 0x1c], 0x4a754320
push edi
call fcn.0041cf5c
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x24], 0xd49598aa
mov dword [esp + 0x30], 0x27fa3dfa
mov dword [esp + 0xc], eax
jmp 0x47dbf8
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x180]
mov dword [ecx + edx*4], 0xfffffff9
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x47dbe2
cmp dword [esp + 0x28], eax
je 0x47dc37
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
sub esi, ecx
neg esi
sbb esi, esi
xor edx, edx
inc esi
add esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
cmp esi, ecx
setle dl
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x1c]
jg 0x47dc37
xor esi, esi
inc esi
mov eax, esi
jmp 0x47dc3a
xor esi, esi
inc esi
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x180]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], eax
call fcn.0041d2be
cmp byte [ebp + 0xc], 0
je 0x47ded4
cmp dword [esp + 0x8c], 0
je 0x47ded4
mov eax, dword [esp + 0x90]
lea ecx, [esp + 0x94]
push edi
mov dword [esp + 0xa8], eax
call fcn.0041cf5c
xor eax, eax
mov dword [esp + 0x38], esi
mov dword [esp + 0xc], eax
jmp 0x47dca7
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x94]
mov dword [ecx + edx*4], 0xfffffff6
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jl 0x47dc91
push 2
mov dword [esp + 0x3c], eax
pop edi
cmp dword [esp + 0x38], edi
jg 0x47deb8
push 0xfffffffffffffff6
pop ecx
mov dword [esp + 0xc], 0xfffffffe
mov dword [esp + 0x24], esi
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], ecx
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], edi
jg 0x47deaa
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], eax
jmp 0x47dd11
mov ecx, dword [esp + 0x1c]
mov dword [esp + ecx*4 + 0x5c], 0xffffffff
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], esi
jl 0x47dd01
mov dword [esp + 0x34], eax
jmp 0x47de8f
mov dword [esp + 0x1c], 0x4c000111
mov dword [esp + 0x28], 0x1eb6
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x47dd4c
push eax
push 0x2408
push eax
push eax
push eax
call dword [0xabd0a4]
xor eax, eax
mov dword [esp + 0x1c], eax
jmp 0x47de81
mov dword [esp + 0x20], 0xb95ae64
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], eax
jl 0x47dde0
push esi
lea ecx, [esp + 0xe0]
call fcn.0041cf5c
mov dword [esp + 0x14], 0
jmp 0x47dd94
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xdc]
mov dword [eax + ecx*4], 0xd0714ad
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x47dd7e
mov eax, dword [esp + 0xdc]
mov dword [eax], edi
mov byte [esp + 0x13], 0
cmp byte [esp + 0x13], 0
je 0x47ddc1
push 0x12d6
push 0x2320
push 0
call dword [0xabd028]
mov eax, dword [esp + 0xdc]
dec dword [eax]
jns 0x47dda3
lea ecx, [esp + 0xdc]
call fcn.0041d2be
dec dword [esp + 0x20]
jns 0x47dd67
xor eax, eax
mov dword [esp + 0x20], edi
cmp dword [esp + 0x20], eax
jl 0x47de7d
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x28]
push 0
cmp dword [edx + esi*4], ecx
mov ecx, dword [esp + 0x98]
pop edx
setle dl
cmp dword [ecx + edi*4], edx
jg 0x47de24
cmp dword [esp + 0x20], eax
jne 0x47de24
mov edx, eax
jmp 0x47de27
xor edx, edx
inc edx
mov ecx, dword [esp + 0x5c]
sub edx, ecx
mov dword [esp + 0x24], edx
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x24]
push 0
cmp dword [edx + esi*4], ecx
pop ecx
setge cl
inc ecx
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x5c]
cmp dword [esp + 0x30], ecx
sete dl
mov dword [esp + 0x120], edx
cmp dword [esp + 0x28], eax
jne 0x47de77
dec dword [esp + 0x20]
jns 0x47ddee
push 2
xor esi, esi
pop edi
inc esi
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], edi
jle 0x47dd55
inc dword [esp + 0x34]
cmp dword [esp + 0x34], edi
jle 0x47dd20
inc dword [esp + 0xc]
cmp dword [esp + 0xc], edi
jle 0x47dcf7
push 0xfffffffffffffff6
pop ecx
inc dword [esp + 0x38]
cmp dword [esp + 0x38], edi
jle 0x47dcc1
lea ecx, [esp + 0x94]
call fcn.0041d2be
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xa8], eax
jmp 0x47ded7
push 2
pop edi
xor eax, eax
mov dword [esp + 0x24], edi
xor esi, esi
mov dword [esp + 0x14], eax
inc esi
jmp 0x47def6
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x40], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], esi
jl 0x47dee6
mov dword [esp + 0x14], eax
jmp 0x47df15
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x18c], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x47df02
mov dword [esp + 0x40], esi
cmp dword [esp + 0x40], 0xfffffff2
jne 0x47dfe0
jmp 0x47df2f
xor esi, esi
inc esi
mov dword [esp + 0x28], 0x89d9
mov dword [esp + 0x24], 0xefc16765
cmp dword [esp + 0x40], eax
je 0x47df60
mov ecx, dword [esp + 0x40]
xor edx, edx
mov ecx, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
cmp ecx, esi
mov ecx, esi
setg dl
cmp edx, dword [esp + 0x40]
je 0x47df62
mov ecx, eax
neg ecx
je 0x47df6c
cmp dword [esp + 0x40], eax
jne 0x47df6e
mov esi, eax
mov ecx, dword [esp + 0x40]
xor edx, edx
cmp esi, ecx
setne dl
cmp edx, dword [esp + 0x28]
jl 0x47df8a
cmp dword [esp + 0x40], eax
je 0x47df8a
xor esi, esi
inc esi
jmp 0x47df8c
mov esi, eax
mov ecx, dword [esp + 0x28]
xor edx, edx
cmp esi, ecx
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
setge dl
sub esi, edx
mov edx, dword [esp + 0x40]
neg esi
sbb esi, esi
inc esi
add ecx, esi
imul edx, ecx
mov dword [esp + 0x24], edx
xor edx, edx
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
cmp ecx, edi
setg dl
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x190], ecx
dec dword [esp + 0x40]
cmp dword [esp + 0x40], 0xfffffff2
je 0x47df2c
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x47e21e
cmp dword [esp + 0x84], eax
jle 0x47e21e
push 3
lea ecx, [esp + 0x13c]
call fcn.0041cf5c
xor eax, eax
mov dword [esp + 0xc], 0x96960f57
mov dword [esp + 0xc], eax
jmp 0x47e02d
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x138]
mov dword [ecx + edx*4], 0xfffffff6
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x47e017
mov dword [esp + 0xc], edi
cmp dword [esp + 0xc], eax
jl 0x47e069
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x47e05d
push eax
push 0x1826
push eax
push 0x5db
call dword [0xabd02c]
xor eax, eax
cmp dword [esp + 0xc], eax
jne 0x47e069
dec dword [esp + 0xc]
jns 0x47e03e
lea ecx, [esp + 0x138]
call fcn.0041d2be
cmp dword [esp + 0x88], 0
je 0x47e21e
mov dword [esp + 0xc], 0x45db34e6
xor esi, esi
mov dword [esp + 0x30], 0xfffffff6
mov dword [esp + 0x30], 0xfe46c2e7
mov dword [esp + 0xc], esi
jmp 0x47e0b6
mov eax, dword [esp + 0xc]
mov dword [esp + eax*4 + 0x1b4], 0xe662db8e
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x47e0a3
mov dword [esp + 0xc], 0xbe1d925b
xor ecx, ecx
mov eax, dword [esp + 0xc]
cmp eax, 0xf9c28ade
setne cl
mov dword [esp + 0x30], ecx
mov dword [esp + 0xc], 0x1b
jmp 0x47e154
mov dword [esp + 0x30], 0xf587
lea ecx, [esp + 0xe8]
mov dword [esp + 0x30], esi
push 1
call fcn.0041cf5c
xor edx, edx
mov dword [esp + 0x14], esi
inc edx
jmp 0x47e117
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x178], 0x3d37a5b7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x47e104
mov dword [esp + 0x14], esi
jmp 0x47e135
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xe8]
mov dword [eax + ecx*4], edx
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edx
jl 0x47e123
mov eax, dword [esp + 0xe8]
lea ecx, [esp + 0xe8]
inc dword [eax]
call fcn.0041d2be
dec dword [esp + 0xc]
cmp dword [esp + 0xc], 7
jl 0x47e0e1
push 0x4fc5
push 1
push 1
push 0x50bc
push 0x714b
push 0x6f14
push 0x3909
push 0x5fb6
push 0x4364
push dword [esp + 0xac]
call fcn.0047bb72
push dword [esp + 0xb0]
call fcn.0045c49b
add esp, 0x2c
mov dword [esp + 0x2c], eax
lea ecx, [esp + 0x100]
push edi
call fcn.0041cf5c
mov dword [esp + 0x14], esi
jmp 0x47e1ce
push dword [esp + 0x14]
lea ecx, [esp + 0x104]
call fcn.0041cffd
mov dword [eax], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x47e1b4
mov dword [esp + 0x14], esi
jmp 0x47e1ed
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x1ac], 0xfffffffd
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x47e1da
push esi
lea ecx, [esp + 0x104]
call fcn.0041cffd
lea ecx, [esp + 0x100]
mov dword [eax], esi
call fcn.0041cff8
lea eax, [esp + 0x4c]
push eax
call fcn.0047e695
mov ecx, dword [esp + 0x2c]
mov dword [eax], ecx
lea ecx, [esp + 0x84]
call fcn.00476c54
push 9
xor eax, eax
inc eax
pop ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x30], 0x342bb1e5
mov dword [esp + 0x30], 0xaba4a2c6
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], eax
xor eax, eax
mov dword [esp + 0xc], 7
mov dword [esp + 0x34], 0xc73ee49c
mov dword [esp + 0xc], eax
jmp 0x47e287
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x1a0], 0x83781cdf
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 3
jl 0x47e274
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
cmp ecx, edx
push 0
pop ecx
setg cl
mov edx, 0xee676845
cmp edx, ecx
mov ecx, dword [esp + 0x24]
push 0
sbb edx, edx
neg edx
cmp edx, ecx
pop ecx
setl cl
sub ecx, dword [esp + 0x18]
neg ecx
sbb ecx, ecx
xor edx, edx
inc ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x30], ecx
setne dl
cmp dword [esp + 0x18], edx
jne 0x47e365
mov dword [esp + 0x30], 3
or ecx, 0xffffffff
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x30], 0xc0d357e
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], eax
jmp 0x47e355
mov dword [esp + 0x30], 0x9c5a
xor edx, edx
mov ecx, dword [esp + 0x30]
test ecx, ecx
sets dl
mov dword [esp + 0x1c], edx
dec dword [esp + 0x18]
cmp dword [esp + 0x18], 0xfffffff5
jle 0x47e33a
inc dword [esp + 0x24]
jmp 0x47e417
mov dword [esp + 0x28], 0x1bda
mov dword [esp + 0x24], eax
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0xc], eax
jmp 0x47e38f
mov ecx, dword [esp + 0xc]
mov dword [esp + ecx*4 + 0x60], 0xf28f6817
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 1
jl 0x47e37f
mov ecx, dword [esp + 0x1a4]
xor edx, edx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], 0x8e49ed22
mov ecx, dword [esp + 0xc]
cmp ecx, 1
mov ecx, dword [esp + 0x28]
setle dl
cmp edx, ecx
mov ecx, dword [esp + 0x20]
push 0
pop edx
setle dl
cmp edx, ecx
push 0
pop ecx
setne cl
xor edx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x30], ecx
setg dl
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
neg ecx
sbb ecx, ecx
add ecx, 0x7de8
mov dword [esp + 0x60], ecx
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], al
je 0x47e417
push eax
call dword [0xabd020]
xor eax, eax
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x47e5af
mov dword [esp + 0x1c], 9
mov dword [esp + 0x1c], eax
jmp 0x47e475
mov dword [esp + 0xc], 0xffffffff
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x47e44d
push eax
call dword [section..idata]
xor eax, eax
mov dword [esp + 0xc], 0xffffffec
jmp 0x47e46a
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
jne 0x47d064
inc dword [esp + 0xc]
cmp dword [esp + 0xc], 0xb
jg 0x47e457
inc dword [esp + 0x1c]
cmp dword [esp + 0x1c], 0x19
jne 0x47e431
mov edx, dword [esp + 0x3c]
mov ecx, esi
call fcn.0047cd50
mov esi, eax
mov dword [esp + 0x20], 0xffff
mov dword [esp + 0x3c], 0x23b4
lea ecx, [esp + 0x144]
mov dword [esp + 0x2c], 0xb5d1cb6a
push 3
mov dword [esp + 0xa4], esi
call fcn.0041cf5c
xor eax, eax
mov dword [esp + 0x14], eax
jmp 0x47e4ce
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x7c], 7
inc dword [esp + 0x14]
cmp dword [esp + 0x14], edi
jl 0x47e4be
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 3
jge 0x47e502
push dword [esp + 0x14]
lea ecx, [esp + 0x148]
call fcn.0041cffd
mov dword [eax], 1
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 3
jl 0x47e4df
xor eax, eax
cmp dword [esp + 0x20], eax
je 0x47e52b
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x47e55a
push eax
push 0x10ab
push 0xbc0
push 0x1a53
call dword [0xabd1e4]
jmp 0x47e55a
mov dword [esp + 0x20], eax
jmp 0x47e541
mov ecx, dword [esp + 0x20]
mov dword [esp + ecx*4 + 0x7c], 0x1d925b0e
inc dword [esp + 0x20]
cmp dword [esp + 0x20], edi
jl 0x47e531
mov byte [esp + 0x13], al
cmp byte [esp + 0x13], 0
je 0x47e55a
push eax
push eax
call dword [0xabd08c]
mov eax, dword [esp + 0x80]
xor ecx, ecx
cmp eax, 0x5ccb
setle cl
mov dword [esp + 0x7c], ecx
test ecx, ecx
jne 0x47e57f
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x144]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x2c], 0xfcb1efad
call fcn.0041cff8
lea eax, [esp + 0x78]
push eax
call fcn.0047e633
mov dword [eax], esi
mov eax, dword [ebp + 8]
lea esi, [esp + 0xa0]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
mov esp, ebp
pop ebp
ret