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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
xor edi, edi
mov byte [ebp - 2], 0
mov byte [ebp - 3], 0
mov byte [ebp - 4], 0
mov dword [ebp - 0x10], edi
test esi, esi
je 0x47f765
cmp dword [esi], 0xc0dedbad
jne 0x47f765
mov ebx, dword [ebp + 8]
cmp byte [ebx + 0x100], 0
je 0x47e960
mov edi, 0x2a
push esi
mov dword [ebp - 0x10], edi
call fcn.0049a9f0
push 0
push edi
push esi
call fcn.0047e3e0
push 0xf
push esi
call fcn.0047e270
add esp, 0x18
nop
xor eax, eax
mov byte [ebp + 0x13], 0
push 1
push ebx
mov dword [ebp - 0xc], eax
call fcn.0047e8e0
add esp, 8
test al, al
je 0x47e981
push ebx
call fcn.004801b0
add esp, 4
mov ecx, dword [esi + 0x34]
lea ebx, [esi + 0x18]
lea eax, [ecx - 3]
cmp eax, 0xb
ja 0x47e9a0
cmp dword [ebx], 0
jne 0x47e9a5
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx], 0
je 0x47e9ce
lea eax, [ecx - 2]
cmp eax, 0xc
ja 0x47e9ce
push 0
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
push esi
call fcn.0047e780
mov edi, dword [ebp - 0x10]
add esp, 0x14
test al, al
jne 0x47f616
mov eax, dword [esi + 0x34]
cmp eax, 0x10
ja case.default.0x47e9d6
jmp dword [eax*4 + 0x47f774]
push esi
call fcn.0049aa00
mov edi, eax
add esp, 4
mov dword [ebp - 0x10], edi
test edi, edi
jne case.0x47e9d6.1
push 2
push esi
call fcn.0047e270
push 1
lea eax, [ebp - 0x40]
push esi
push eax
call fcn.0049c000
add esp, 0x14
or ecx, 0xffffffff
mov dword [ebp - 0xc], ecx
movups xmm0, xmmword [eax]
mov eax, dword [ebp + 0xc]
movups xmmword [eax], xmm0
jmp 0x47f5c6
push esi
call fcn.0047d2c0
mov edi, eax
add esp, 4
mov dword [ebp - 0x10], edi
test edi, edi
jne case.0x47e9d6.1
push 2
lea eax, [ebp - 0x50]
push esi
push eax
call fcn.0049c000
mov ebx, dword [ebp + 0xc]
add esp, 0xc
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov eax, dword [esi + 0x1e0]
test eax, eax
je 0x47ea63
push 0xa
push edi
push eax
push esi
call fcn.0047cdf0
add esp, 0x10
mov eax, dword [esi + 0x1e4]
test eax, eax
je 0x47ea7b
push 2
push 0
push eax
push esi
call fcn.0047cdf0
add esp, 0x10
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 5]
push eax
push esi
call fcn.00487710
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x10], edi
cmp edi, 0x59
jne 0x47eac8
push 1
push esi
call fcn.0047e270
mov ebx, dword [ebp + 8]
lea eax, [esi + 0x1c]
push eax
push esi
push dword [ebx + 0x28]
lea eax, [ebx + 0x24]
push eax
call fcn.00491a80
push esi
push ebx
call fcn.004809c0
add esp, 0x20
xor edi, edi
mov dword [ebp - 0x10], edi
mov ecx, edi
jmp 0x47f5c6
cmp byte [esi + 0xd98], 0
je 0x47eae7
push str.Transfer_was_pending__now_try_another
push esi
call fcn.0048ca40
push dword [esi + 0x7c]
call fcn.004801b0
add esp, 0xc
test edi, edi
jne case.0x47e9d6.1
push 3
lea eax, [ebp - 0x60]
push esi
push eax
call fcn.0049c000
add esp, 0xc
cmp byte [ebp - 5], 0
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
je 0x47eb11
push 3
jmp 0x47f5ba
or eax, 0xffffffff
cmp byte [ebp - 1], 0
mov dword [ebp - 0xc], eax
je 0x47eb24
push 6
jmp 0x47f5ba
push 4
jmp 0x47f5ba
mov eax, dword [ebx]
mov dword [ebp - 0x14], 0
cmp byte [eax + 0x1a8], 0
je 0x47eb42
mov ebx, dword [eax + 0x78]
jmp 0x47eb53
cmp byte [eax + 0x1b1], 0
je 0x47eb50
mov ebx, dword [eax + 0x48]
jmp 0x47eb53
mov ebx, dword [eax + 0x30]
push dword [eax + 0x2fc]
push ebx
push esi
call fcn.004921a0
add esp, 0xc
mov dword [ebp - 0x14], eax
test eax, eax
je 0x47eb92
push ebx
push 0x5744bc
xor edi, edi
mov dword [esi + 0x9ac], eax
push esi
mov byte [esi + 0x9c0], 1
mov dword [ebp - 0x10], edi
call fcn.0048ca40
mov eax, dword [ebp - 0x14]
add esp, 0xc
test eax, eax
jne 0x47eba4
lea eax, [ebp - 0x14]
push eax
push esi
call fcn.00492c00
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
mov ebx, dword [ebp + 8]
push esi
push ebx
call fcn.00480650
mov ecx, eax
add esp, 8
mov dword [ebp - 0xc], ecx
test ecx, ecx
jne 0x47f700
cmp dword [ebp - 0x14], eax
je 0x47ec00
lea eax, [ebp - 1]
push eax
push esi
call fcn.00492860
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
test edi, edi
je 0x47ebe2
mov dword [esi + 0x18], 0
jmp 0x47ebfd
or eax, 0xffffffff
cmp byte [ebp - 1], 0
mov dword [ebp - 0xc], eax
je 0x47ebf2
push 6
jmp 0x47ebf4
push 4
push esi
call fcn.0047e270
add esp, 8
mov ecx, dword [ebp - 0xc]
test edi, edi
je 0x47f5c6
mov byte [ebp + 0x13], 1
jmp 0x47f5c6
lea eax, [ebp - 2]
push eax
push esi
call fcn.004940a0
mov edi, eax
add esp, 8
mov eax, dword [ebx]
mov dword [ebp - 0x10], edi
cmp byte [eax + 0x1ac], 0
je 0x47ec54
xor edi, edi
or eax, 0xffffffff
push edi
push edi
push esi
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], edi
call fcn.0047e3e0
push 2
push esi
call fcn.0047e270
add esp, 0x14
or ecx, 0xffffffff
jmp 0x47f5c6
test edi, edi
jne 0x47ecc4
or eax, 0xffffffff
push 6
push esi
mov dword [ebp - 0xc], eax
call fcn.0047e270
add esp, 8
or ecx, 0xffffffff
jmp 0x47f5c6
lea eax, [ebp - 1]
push eax
push 0
push 0
push esi
call fcn.0048c0a0
add esp, 0x10
mov edi, eax
cmp byte [ebp - 1], 0
mov dword [ebp - 0x10], edi
je 0x47ecaa
test edi, edi
jne 0x47ecb2
or eax, 0xffffffff
push 6
push esi
mov dword [ebp - 0xc], eax
call fcn.0047e270
add esp, 8
or ecx, 0xffffffff
jmp 0x47f5c6
test edi, edi
je case.0x47e9d6.1
push esi
call fcn.0049a9f0
push 1
push edi
push esi
call fcn.0047e3e0
add esp, 0x10
mov byte [ebp + 0x13], 1
jmp case.0x47e9d6.1
cmp byte [esi + 0xd9f], 0
je 0x47ece4
push esi
call fcn.00480370
mov edi, eax
add esp, 4
mov dword [ebp - 0x10], edi
test edi, edi
jne 0x47ecb2
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1af], 0
je 0x47ed0a
push 8
push esi
call fcn.0047e270
add esp, 8
or ecx, 0xffffffff
mov dword [ebp - 0xc], ecx
jmp 0x47f5c6
lea eax, [ebp - 2]
push eax
push esi
call fcn.00480200
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
test edi, edi
jne 0x47ecb2
cmp byte [ebp - 2], al
jne 0x47ecf4
push 7
push esi
call fcn.0047e270
add esp, 8
or ecx, 0xffffffff
mov dword [ebp - 0xc], ecx
jmp 0x47f5c6
lea eax, [ebp - 2]
push eax
push esi
call fcn.004802a0
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
test edi, edi
jne 0x47ecb2
cmp byte [ebp - 2], al
je case.0x47e9d6.1
jmp 0x47ecf4
cmp dword [esi + 0x1bc], 0
je 0x47edd8
push 1
push esi
call fcn.0047d300
push dword [esi + 0xe5c]
lea eax, [esi + 0xe2c]
push dword [esi + 0xe24]
push eax
lea eax, [esi + 0xdf4]
push eax
push dword [esi + 0x1c0]
mov eax, dword [esi + 0x1bc]
call eax
push 0
push esi
mov edi, eax
call fcn.0047d300
add esp, 0x24
test edi, edi
je 0x47edd8
push str.operation_aborted_by_pre_request_callback
push esi
call fcn.0048c980
mov edi, 0x2a
push esi
mov dword [ebp - 0x10], edi
call fcn.0049a9f0
push 0
push edi
push esi
call fcn.0047e3e0
add esp, 0x18
mov byte [ebp + 0x13], 1
jmp case.0x47e9d6.1
cmp byte [esi + 0x6a5], 1
jne 0x47ee06
push 0
push dword [esi + 0x18]
call fcn.0048dec0
push 0xe
push esi
call fcn.0047e270
xor edi, edi
add esp, 0x10
or ecx, 0xffffffff
mov dword [ebp - 0x10], edi
mov dword [ebp - 0xc], ecx
jmp 0x47f5c6
lea eax, [ebp - 3]
push eax
push esi
call fcn.0047e390
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
test edi, edi
jne 0x47eea6
cmp byte [ebp - 3], al
jne 0x47ee78
cmp byte [esi + 0xd92], al
je 0x47ee67
mov eax, dword [esi + 0xda8]
mov al, byte [eax + 0x20]
cmp al, 7
je 0x47ee3e
cmp al, 5
jne 0x47ee67
push 0
push 0
push esi
call fcn.0047e3e0
mov eax, dword [esi + 0x18]
neg eax
sbb eax, eax
add eax, 0xf
push eax
push esi
call fcn.0047e270
add esp, 0x14
or ecx, 0xffffffff
mov dword [ebp - 0xc], ecx
jmp 0x47f5c6
or eax, 0xffffffff
mov dword [ebp - 0xc], eax
mov eax, 9
push eax
jmp 0x47f5ba
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1b5], 0
je 0x47ee95
or eax, 0xffffffff
mov dword [ebp - 0xc], eax
mov eax, 0xa
push eax
jmp 0x47f5ba
or eax, 0xffffffff
mov dword [ebp - 0xc], eax
mov eax, 0xb
push eax
jmp 0x47f5ba
cmp edi, 0x37
jne 0x47ef61
mov eax, dword [esi + 0x18]
cmp byte [eax + 0x1af], 0
je 0x47ef61
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push esi
call fcn.0049b100
add esp, 8
test eax, eax
je 0x47eee0
mov edi, eax
mov byte [ebp + 0x13], 1
mov dword [ebp - 0x10], edi
push esi
call fcn.0049a9f0
push 0
push edi
push esi
call fcn.0047e3e0
mov ecx, dword [ebp - 0x14]
add esp, 0x10
test ecx, ecx
je 0x47ef4e
test eax, eax
je 0x47ef16
cmp eax, 0x37
je 0x47ef16
mov edi, eax
push ecx
mov dword [ebp - 0x10], edi
call dword [0x5a9350]
add esp, 4
jmp case.0x47e9d6.1
push 2
push ecx
push esi
call fcn.0049a420
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x47ef39
push 2
push esi
call fcn.0047e270
add esp, 8
or eax, 0xffffffff
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x14]
push ecx
mov dword [ebp - 0x10], edi
call dword [0x5a9350]
add esp, 4
jmp case.0x47e9d6.1
push ecx
mov byte [ebp + 0x13], 1
call dword [0x5a9350]
add esp, 4
jmp case.0x47e9d6.1
push esi
call fcn.0049a9f0
add esp, 4
cmp dword [esi + 0x18], 0
je 0x47ef7c
push 0
push edi
push esi
call fcn.0047e3e0
add esp, 0xc
mov byte [ebp + 0x13], 1
jmp case.0x47e9d6.1
lea eax, [ebp - 3]
push eax
push esi
call fcn.004802e0
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
test edi, edi
jne 0x47efca
cmp byte [ebp - 3], al
je case.0x47e9d6.1
mov eax, dword [esi + 0x18]
xor ecx, ecx
cmp byte [eax + 0x1b5], cl
sete cl
add ecx, 0xa
push ecx
push esi
call fcn.0047e270
add esp, 8
or ecx, 0xffffffff
mov dword [ebp - 0xc], ecx
jmp 0x47f5c6
push esi
call fcn.0049a9f0
push 0
push edi
push esi
call fcn.0047e3e0
add esp, 0x10
mov byte [ebp + 0x13], 1
jmp case.0x47e9d6.1
lea eax, [ebp - 0x30]
push eax
push esi
call fcn.0047e3b0
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
test edi, edi
jne 0x47efca
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je case.0x47e9d6.1
cmp ecx, 1
sete al
lea eax, [eax*2 + 9]
push eax
push esi
call fcn.0047e270
add esp, 8
or ecx, 0xffffffff
mov dword [ebp - 0xc], ecx
jmp 0x47f5c6
mov eax, dword [ebx]
cmp byte [eax + 0x1bf], 0
je 0x47f042
mov ebx, dword [ebp + 8]
push ebx
call fcn.004801b0
add esp, 4
lea ebx, [esi + 0x18]
mov eax, dword [ebx]
cmp dword [eax + 0x1e0], 0xffffffff
jne 0x47f07f
cmp dword [eax + 0x1e4], 0xffffffff
jne 0x47f07f
cmp byte [esi + 0xd92], 0
je 0x47f078
mov eax, dword [eax + 0x1c8]
test dword [eax + 0x4c], 0x1000
jne 0x47f078
mov eax, dword [esi + 0xda8]
mov byte [eax + 0x20], 7
mov eax, 0xe
jmp 0x47f084
mov eax, 0xc
push eax
push esi
call fcn.0047e270
add esp, 8
or ecx, 0xffffffff
mov dword [ebp - 0xc], ecx
jmp 0x47f5c6
push esi
call fcn.0049c1b0
add esp, 4
test eax, eax
je 0x47f0b2
mov ebx, 0x2a
mov edi, ebx
mov dword [ebp - 0x10], edi
jmp 0x47f0d4
mov ecx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.0049d4f0
mov edi, eax
add esp, 0x14
mov dword [ebp - 0x10], edi
mov ebx, edi
test edi, edi
je 0x47f10a
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x1c8]
test byte [eax + 0x4c], 2
jne 0x47f0f3
cmp ebx, 0x5c
je 0x47f0f3
push 2
push ecx
call fcn.0048dec0
add esp, 8
push esi
call fcn.0049a9f0
push 1
push ebx
push esi
call fcn.0047e3e0
add esp, 0x10
jmp case.0x47e9d6.1
mov edx, dword [esi + 0x210]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x214]
mov eax, edx
or eax, ecx
movlpd qword [ebp - 0x2c], xmm0
je 0x47f16a
mov ebx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [ebx]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x7b8]
push ecx
push edx
push dword [esi + 0x7cc]
movups xmmword [eax], xmm0
push dword [esi + 0x7c8]
push dword [esi + 0x714]
push dword [esi + 0x710]
call fcn.0049bd60
add esp, 0x38
mov dword [ebp - 0x18], edx
mov ebx, eax
jmp 0x47f173
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x218]
xorps xmm0, xmm0
mov ecx, dword [esi + 0x21c]
or eax, ecx
movlpd qword [ebp - 0x24], xmm0
je 0x47f1d4
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [edx]
mov edx, dword [esi + 0x218]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x7d0]
push ecx
push edx
push dword [esi + 0x7e4]
movups xmmword [eax], xmm0
push dword [esi + 0x7e0]
push dword [esi + 0x70c]
push dword [esi + 0x708]
call fcn.0049bd60
add esp, 0x38
mov ecx, eax
jmp 0x47f1da
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov eax, ebx
or eax, dword [ebp - 0x18]
jne 0x47f20b
mov eax, ecx
or eax, edx
jne 0x47f20b
push 0xc
push esi
call fcn.0047e270
mov ecx, dword [ebp + 0xc]
sub esp, 8
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.0049c340
add esp, 0x14
jmp case.0x47e9d6.1
mov eax, dword [ebp - 0x18]
cmp eax, edx
jl 0x47f22a
jg 0x47f218
cmp ebx, ecx
jb 0x47f22a
push 0xb
push eax
push ebx
push esi
call fcn.0047cdf0
add esp, 0x10
jmp case.0x47e9d6.1
push 0xb
push edx
push ecx
push esi
call fcn.0047cdf0
add esp, 0x10
jmp case.0x47e9d6.1
mov eax, dword [esi + 0x210]
xor bl, bl
mov ecx, dword [esi + 0x214]
xorps xmm0, xmm0
or eax, ecx
mov dword [ebp - 0x14], 0
movlpd qword [ebp - 0x2c], xmm0
je 0x47f2a7
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [edx]
mov edx, dword [esi + 0x210]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x7b8]
push ecx
push edx
push dword [esi + 0x7cc]
movups xmmword [eax], xmm0
push dword [esi + 0x7c8]
push dword [esi + 0x714]
push dword [esi + 0x710]
call fcn.0049bd60
add esp, 0x38
mov dword [ebp - 0x1c], edx
jmp 0x47f2b0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [esi + 0x21c]
xorps xmm0, xmm0
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 0x218]
or eax, ecx
movlpd qword [ebp - 0x24], xmm0
je 0x47f317
mov edx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmm0, xmmword [edx]
mov edx, dword [esi + 0x218]
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esi + 0x7d0]
push ecx
push edx
push dword [esi + 0x7e4]
movups xmmword [eax], xmm0
push dword [esi + 0x7e0]
push dword [esi + 0x70c]
push dword [esi + 0x708]
call fcn.0049bd60
add esp, 0x38
mov dword [ebp - 0x20], eax
mov ecx, eax
jmp 0x47f320
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x18]
or eax, dword [ebp - 0x1c]
mov dword [ebp - 0x28], edx
jne 0x47f510
mov eax, ecx
or eax, edx
jne 0x47f510
lea eax, [ebp - 4]
push eax
push esi
call fcn.0049ada0
mov edi, eax
add esp, 8
mov al, byte [ebp - 4]
mov dword [ebp - 0x10], edi
test al, al
jne 0x47f367
cmp edi, 0x38
je 0x47f367
mov ecx, edi
cmp edi, 0x5c
jne 0x47f444
jmp 0x47f44c
lea eax, [ebp - 0x14]
push eax
push esi
call fcn.0049b100
add esp, 8
mov ecx, edi
test eax, eax
jne 0x47f432
cmp dword [ebp - 0x14], eax
setne bl
test bl, bl
je 0x47f441
xor edi, edi
mov al, 1
mov dword [ebp - 0x10], edi
mov byte [ebp - 4], al
test al, al
je 0x47f4ef
push esi
call fcn.0049a9f0
add esp, 4
test bl, bl
jne 0x47f4a8
cmp dword [esi + 0x110], 0
jne 0x47f482
cmp dword [esi + 0x10c], 0
je 0x47f414
push dword [ebp - 0x14]
call dword [0x5a9350]
mov eax, dword [esi + 0x10c]
push 1
push eax
push esi
mov dword [ebp - 0x14], eax
mov dword [esi + 0x10c], 0
call fcn.0049a420
push dword [ebp - 0x14]
mov edi, eax
mov dword [ebp - 0x10], edi
call dword [0x5a9350]
add esp, 0x14
test edi, edi
je 0x47f41c
push 1
push edi
push esi
mov byte [ebp + 0x13], 1
call fcn.0047e3e0
mov edi, eax
add esp, 0xc
mov dword [ebp - 0x10], edi
test edi, edi
jne case.0x47e9d6.1
push 0xe
push esi
call fcn.0047e270
add esp, 8
or ecx, 0xffffffff
mov dword [ebp - 0xc], ecx
jmp 0x47f5c6
test edi, edi
jne 0x47f384
mov edi, eax
mov dword [ebp - 0x10], edi
jmp 0x47f44c
mov al, byte [ebp - 4]
test ecx, ecx
je 0x47f396
mov ecx, dword [esi + 0x18]
mov eax, dword [ecx + 0x1c8]
test byte [eax + 0x4c], 2
jne 0x47f46b
cmp edi, 0x5c
je 0x47f46b
push 2
push ecx
call fcn.0048dec0
add esp, 8
push esi
call fcn.0049a9f0
push 1
push edi
push esi
call fcn.0047e3e0
add esp, 0x10
jmp case.0x47e9d6.1
push dword [ebp - 0x14]
call dword [0x5a9350]
mov eax, dword [esi + 0x110]
add esp, 4
mov dword [ebp - 0x14], eax
mov edi, 3
mov dword [esi + 0x110], 0
jmp 0x47f4ad
mov edi, 2
push 0
push 0
push esi
call fcn.0047e3e0
push edi
push dword [ebp - 0x14]
push esi
call fcn.0049a420
mov edi, eax
add esp, 0x18
mov dword [ebp - 0x10], edi
test edi, edi
jne 0x47f4de
push 2
push esi
call fcn.0047e270
add esp, 8
or eax, 0xffffffff
mov dword [ebp - 0xc], eax
push dword [ebp - 0x14]
call dword [0x5a9350]
add esp, 4
jmp case.0x47e9d6.1
cmp byte [esi + 0xd8b], 0
je case.0x47e9d6.1
push 8
push 0
push 0
push esi
call fcn.0047cdf0
add esp, 0x10
jmp case.0x47e9d6.1
mov ecx, dword [ebp + 0xc]
sub esp, 0x10
mov eax, esp
movups xmm0, xmmword [ecx]
push esi
movups xmmword [eax], xmm0
call fcn.0049c340
push 0xd
push esi
call fcn.0047e270
mov ecx, dword [ebp - 0x1c]
add esp, 0x1c
mov ebx, dword [ebp - 0x28]
cmp ecx, ebx
jl 0x47f554
mov eax, dword [ebp - 0x18]
jg 0x47f55b
mov edx, dword [ebp - 0x20]
cmp eax, edx
jb 0x47f557
push 0xb
push ecx
push eax
push esi
call fcn.0047cdf0
add esp, 0x10
jmp case.0x47e9d6.1
mov edx, dword [ebp - 0x20]
mov eax, edx
mov ecx, ebx
push 0xb
push ecx
push eax
push esi
call fcn.0047cdf0
add esp, 0x10
jmp case.0x47e9d6.1
or eax, 0xffffffff
mov dword [ebp - 0xc], eax
mov eax, dword [ebx]
test eax, eax
je 0x47f59f
cmp byte [eax + 0x1bf], 0
je 0x47f58b
mov ebx, dword [ebp + 8]
push ebx
call fcn.004801b0
add esp, 4
push 0
push edi
push esi
call fcn.0047e3e0
add esp, 0xc
test edi, edi
cmove edi, eax
mov dword [ebp - 0x10], edi
cmp byte [esi + 0xd92], 0
je 0x47f5b8
mov eax, dword [esi + 0xda8]
cmp byte [eax + 0x20], 7
je 0x47f5b8
push 0
jmp 0x47f5ba
push 0xf
push esi
call fcn.0047e270
add esp, 8
mov ecx, dword [ebp - 0xc]
cmp dword [esi + 0x18], 0
lea ebx, [esi + 0x18]
je 0x47f616
mov eax, dword [esi + 0x34]
lea ebx, [esi + 0x18]
sub eax, 2
cmp eax, 5
ja 0x47f616
mov edx, dword [ebp + 8]
lea ebx, [esi + 0x18]
cmp ecx, 0xffffffff
je 0x47f619
push 0
push edx
lea ebx, [esi + 0x18]
call fcn.0047e8e0
add esp, 8
test al, al
jne 0x47f619
push 1
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 0x13]
push eax
push dword [ebp + 0xc]
push esi
call fcn.0047e780
mov edi, dword [ebp - 0x10]
lea ebx, [esi + 0x18]
add esp, 0x14
mov edx, dword [ebp + 8]
cmp dword [esi + 0x34], 0xf
jge 0x47f6cc
test edi, edi
je 0x47f68e
push edx
call fcn.004801b0
mov ebx, dword [ebx]
add esp, 4
test ebx, ebx
je 0x47f66f
cmp byte [ebp + 0x13], 0
je 0x47f67e
push esi
call fcn.0047cdb0
push 1
push ebx
push esi
call fcn.00485f10
cmp edi, 0x1c
sete al
movzx eax, al
push eax
push ebx
push esi
call fcn.004877f0
add esp, 0x1c
push 0xf
push esi
call fcn.0047e270
add esp, 8
or edx, 0xffffffff
jmp 0x47f6cf
cmp dword [esi + 0x34], 2
jne 0x47f67e
push esi
call fcn.0049a9f0
add esp, 4
push 0xf
push esi
call fcn.0047e270
add esp, 8
or edx, 0xffffffff
jmp 0x47f6cf
cmp dword [ebx], 0
je 0x47f6cc
push esi
call fcn.0049c1b0
add esp, 4
test eax, eax
je 0x47f6cc
push 2
push dword [ebx]
mov edi, 0x2a
mov dword [ebp - 0x10], edi
call fcn.0048dec0
xor eax, eax
cmp dword [esi + 0x34], 0xe
setge al
add eax, 0xe
push eax
push esi
call fcn.0047e270
add esp, 0x10
or edx, 0xffffffff
jmp 0x47f6cf
mov edx, dword [ebp - 0xc]
cmp dword [esi + 0x34], 0xf
je 0x47f709
mov ebx, dword [ebp + 8]
cmp edx, 0xffffffff
je 0x47e960
push 0
push ebx
call fcn.0047e8e0
add esp, 8
test al, al
jne 0x47e960
mov dword [esi + 0x38], edi
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x680]
test eax, eax
je 0x47f71c
push edi
push esi
call eax
mov ebx, dword [ebp + 8]
jmp 0x47f736
mov ebx, dword [ebp + 8]
lea eax, [esi + 0x3c]
push eax
push ebx
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
call fcn.0047e2a0
add esp, 8
push 0x10
push esi
call fcn.0047e270
lea eax, [esi + 0x1c]
push eax
push esi
push dword [ebx + 0x38]
lea eax, [ebx + 0x34]
push eax
call fcn.00491a80
push esi
push ebx
call fcn.004809c0
add esp, 0x20
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 2
pop ebx
mov esp, ebp
pop ebp
ret