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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x190
mov esi, esp
lea eax, [ebp + 8]
mov dword [esi + 0x28], eax
lea eax, [ebp + 0x20]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x44]
mov dword [esi + 0x40], ecx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x34], ecx
movzx eax, byte [eax]
mov dword [esi + 0x94], eax
mov eax, 0xc600b968
mov dword [esi + 0x3c], ecx
nop dword [eax]
cmp eax, 0xb26cb2a
jle 0x474dd0
cmp eax, 0x3bd5a743
jle 0x474f00
cmp eax, 0x4a165b04
jle 0x474fb9
cmp eax, 0x6c7bdbfd
jle 0x47527a
cmp eax, 0x6c7bdbfe
je 0x4755b2
cmp eax, 0x6f53a841
je 0x4755f7
cmp eax, 0x77431e84
jne 0x474d70
cmp byte [esi + 0x14], 0
mov eax, 0x8e37d89e
jmp 0x475825
cmp eax, 0xc0cab1a9
jg 0x474f40
cmp eax, 0xa3423ec8
jg 0x475010
cmp eax, 0x8e37d89d
jg 0x475317
cmp eax, 0x87a7bc14
je 0x47599d
cmp eax, 0x84777fe3
jne 0x474d70
mov ecx, dword [esi + 0x20]
lea eax, [esi + 0x98]
push eax
call fcn.0047c660
mov eax, dword [esi + 0x48]
movsd xmm0, qword [esi + 0xa8]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x98]
movsd xmm1, qword [esi + 0xa0]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
sub eax, 0x667b389d
sbb ecx, 0x7f732e4f
add eax, dword [esi + 0x58]
adc ecx, dword [esi + 0x5c]
add eax, 0xfffffff9
adc ecx, 0xffffffff
add eax, 0x667b389d
adc ecx, 0x7f732e4f
mov dword [esi + 0xb8], eax
lea eax, [esi + 0xc0]
mov dword [esi + 0xbc], ecx
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov ecx, dword [esi + 0x20]
sub esp, 0x18
movsd xmm0, qword [esi + 0xc8]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + 0xb8]
movsd xmm1, qword [esi + 0xc0]
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.0047be30
mov eax, dword [esi + 0x4c]
mov ecx, dword [0x517cc0]
mov edx, dword [0x517cc4]
xor ecx, dword [eax]
xor edx, dword [eax + 4]
mov eax, 0x115066d2
or edx, ecx
mov ecx, 0x3bb8d22b
cmove eax, ecx
movzx ecx, word [esi + 0x10]
mov dword [esi + 0x34], ecx
jmp 0x474d70
cmp eax, 0x2bd4aa90
jg 0x47507e
cmp eax, 0x1bc62c55
jg 0x475388
cmp eax, 0xb26cb2b
je 0x47560d
cmp eax, 0x115066d2
jne 0x474d70
jmp 0x475990
cmp eax, 0xdae1e7d4
jg 0x475107
cmp eax, 0xc600b967
jg 0x4753bb
cmp eax, 0xc0cab1aa
je 0x475652
cmp eax, 0xc4257deb
jne 0x474d70
mov eax, dword [0x517b90]
mov ecx, dword [0x517b94]
mov edi, 0x40ce76d4
mov ebx, 0x77431e84
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
cmovne edi, ebx
cmp edx, 0xffffffff
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
cmp word [esi + 0x26], 0
sete byte [esi + 0x14]
jmp 0x474d70
cmp eax, 0x40ce76d3
jg 0x47541a
cmp eax, 0x3bd5a744
je 0x475666
cmp eax, 0x40994eeb
jne 0x474d70
mov eax, dword [0x517cc8]
mov edi, 0x1bc62c56
mov ebx, 0xdae1e7d5
or eax, dword [0x517ccc]
mov eax, dword [0x517b90]
lea ecx, [eax - 1]
sete byte [esi + 0x13]
imul ecx, eax
mov eax, 0xdae1e7d5
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x47591f
cmp eax, 0xb4fff641
jg 0x475474
cmp eax, 0xa3423ec9
je 0x475677
cmp eax, 0xa50c110b
jne 0x474d70
mov eax, dword [0x517b90]
mov ecx, dword [0x517b94]
mov edi, 0x91fb0365
mov ebx, 0xa3423ec9
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
cmovne edi, ebx
cmp edx, 0xffffffff
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
mov ecx, dword [esi + 0x38]
cmovge eax, edi
and cl, 1
mov byte [esi + 0x15], cl
jmp 0x474d70
cmp eax, 0x361bade5
jg 0x47549b
cmp eax, 0x2bd4aa91
je 0x47570c
cmp eax, 0x2c491a9d
jne 0x474d70
xorps xmm0, xmm0
mov dword [esi + 0x64], 0
mov dword [esi + 0x60], 0
mov dword [esi + 0x84], 0
mov dword [esi + 0x80], 0
movaps xmmword [esi + 0x50], xmm0
movaps xmmword [esi + 0x70], xmm0
sub esp, 0x18
movsd xmm0, qword [esi + 0x80]
lea ecx, [esi + 0xd0]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + 0x70]
movsd xmm1, qword [esi + 0x78]
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.0047be30
mov eax, 0x61232198
jmp 0x474d70
cmp eax, 0x14378b6
jg 0x4754e0
cmp eax, 0xdae1e7d5
je 0x47571c
cmp eax, 0xf3141a16
jne 0x474d70
lea eax, [esi + 0xb0]
lea ebx, [esi + 0xd0]
mov dword [esi + 0x2c], eax
mov ecx, ebx
mov eax, dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x18], ebx
mov eax, dword [esi + 0x18]
push 1
call fcn.0047bc40
mov edi, dword [esi + 0x18]
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov edx, dword [esi + 0x18]
lea ecx, [edx + eax]
mov dword [edx + eax + 0x10], 4
push dword [edx + eax + 0xc]
call fcn.0048ac90
mov ecx, dword [esi + 0x28]
call fcn.00474ae0
mov ecx, ebx
push 0x40
push 0x21
push eax
call fcn.00497a20
mov eax, dword [edi]
mov ecx, 0x680a7e9
mov eax, dword [eax + 4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x18]
mov edx, dword [0x517af8]
lea edi, [edx - 1]
mov dword [esi + 0x30], eax
mov eax, 0x3d9586fc
imul edx, edi
mov edi, edx
xor edi, 0xfffffffe
test edi, edx
mov edi, dword [0x517afc]
mov edx, 0x680a7e9
sete byte [esi + 0x17]
cmove edx, eax
sete bl
cmp edi, 0xa
mov edi, 0x8fdae77
setl bh
setl byte [esi + 0xf]
cmovge edx, ecx
xor bh, bl
cmovne edx, eax
nop word cs:[eax + eax]
nop dword [eax]
cmp edi, 0x3d9586fb
jg 0x475240
cmp edi, 0x680a7e9
je 0x475270
cmp edi, 0x8fdae77
jne 0x4751f0
movzx eax, byte [esi + 0x17]
mov bh, byte [esi + 0xf]
mov ecx, 0x680a7e9
mov edi, 0x57205429
mov bl, al
xor bl, bh
cmovne ecx, edi
test bh, bh
mov ebx, 0x57205429
mov edi, ecx
cmovne edi, ebx
test al, al
cmove edi, ecx
jmp 0x4751f0
cmp edi, 0x3d9586fc
je 0x475726
cmp edi, 0x57205429
jne 0x4751f0
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x30]
mov edi, edx
mov eax, dword [ecx + eax + 0xc]
mov ecx, eax
xor ecx, 0xfffffff9
test ecx, eax
setne byte [esi + 0x98]
jmp 0x4751f0
mov edi, 0x57205429
jmp 0x4751f0
cmp eax, 0x4a165b05
je 0x475746
cmp eax, 0x61232198
jne 0x474d70
lea eax, [esi + 0x50]
xorps xmm0, xmm0
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x48]
lea eax, [esi + 0xd0]
movaps xmmword [esi + 0x50], xmm0
mov dword [esi + 0x64], 0
mov dword [esi + 0x60], 0
movaps xmmword [esi + 0x70], xmm0
mov dword [esi + 0x84], 0
mov dword [esi + 0x80], 0
mov dword [esi + 0x20], eax
mov ecx, dword [esi + 0x20]
sub esp, 0x18
movsd xmm0, qword [esi + 0x80]
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + 0x70]
movsd xmm1, qword [esi + 0x78]
movsd qword [esp + 8], xmm1
movsd qword [esp], xmm0
call fcn.0047be30
mov eax, dword [0x517b90]
mov ecx, dword [0x517b94]
mov edi, 0x2c491a9d
mov ebx, 0xbf3e9446
jmp 0x475445
cmp eax, 0x8e37d89e
je 0x475802
cmp eax, 0x91fb0365
jne 0x474d70
mov eax, dword [esi + 0xd0]
mov eax, dword [eax + 4]
mov dword [esi + eax + 0xd0], 0x502140
mov eax, dword [esi + 0xd0]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esi + eax + 0xcc], ecx
lea ecx, [esi + 0xe0]
call fcn.0047db70
lea eax, [esi + 0x140]
mov dword [esi + 0x140], 0x50213c
push eax
call fcn.0049e05c
add esp, 4
mov eax, dword [esi + 0x18]
mov eax, dword [esi + 0x2c]
mov eax, 0xa3423ec9
jmp 0x474d70
cmp eax, 0x1bc62c56
je 0x47581c
cmp eax, 0x1c492e4f
jne 0x474d70
mov ecx, dword [esi + 0x20]
push 0
push 8
lea eax, [esi + 0xb0]
push eax
call fcn.0047c1d0
mov eax, 0x14378b7
jmp 0x474d70
cmp eax, 0xc600b968
je 0x475832
cmp eax, 0xca03f316
jne 0x474d70
mov eax, dword [esi + 0x40]
mov edi, 0x7fc5d53
mov ebx, 0x4a165b05
mov ecx, eax
mov eax, dword [0x517b90]
and cl, 1
mov byte [esi + 0x16], cl
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
mov eax, 0x4a165b05
sete dl
cmove eax, edi
cmp dword [0x517b94], 0xa
setl ch
cmovge eax, ebx
xor ch, dl
cmovne eax, edi
jmp 0x474d70
cmp eax, 0x40ce76d4
je 0x47584d
cmp eax, 0x469f90d3
jne 0x474d70
mov eax, dword [0x517b90]
mov ecx, dword [0x517b94]
mov edi, 0x40ce76d4
mov ebx, 0xc4257deb
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
cmovne edi, ebx
cmp edx, 0xffffffff
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x474d70
cmp eax, 0xb4fff642
je 0x47585b
cmp eax, 0xbf3e9446
jne 0x474d70
mov eax, 0xb26cb2b
mov dword [esi + 0x3c], 0
jmp 0x474d70
cmp eax, 0x361bade6
je 0x4758ae
cmp eax, 0x3bb8d22b
jne 0x474d70
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
add eax, dword [esi + 0x50]
adc ecx, dword [esi + 0x54]
add eax, 0xfffffff8
mov dword [0x517cc8], eax
adc ecx, 0xffffffff
mov dword [0x517ccc], ecx
movzx eax, word [esi + 0x10]
inc eax
mov dword [esi + 0x34], eax
mov eax, 0x115066d2
jmp 0x474d70
cmp eax, 0x14378b7
je 0x4758d1
cmp eax, 0x7fc5d53
jne 0x474d70
mov ecx, dword [esi + 0x28]
call fcn.004011f0
mov eax, dword [0x517d2c]
mov ecx, dword [0x517d30]
mov edi, 0xe9e3b4d0
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x1c08b87
cmovne edi, ebx
test eax, edx
mov eax, edi
sete byte [esi + 0xf]
cmove eax, ebx
cmp ecx, 0xa
mov ecx, 0xe4f57ea6
cmovge eax, edi
setl byte [esi + 0x98]
nop dword [eax + eax]
cmp ecx, 0x1c08b86
jg 0x475570
cmp ecx, 0xe4f57ea6
je 0x475588
cmp ecx, 0xe9e3b4d0
jne 0x475550
mov ecx, 0x2b2d5b0d
jmp 0x475550
cmp ecx, 0x1c08b87
je 0x47593c
cmp ecx, 0x2b2d5b0d
jne 0x475550
mov ecx, eax
jmp 0x475550
movzx edx, byte [esi + 0xf]
movzx ecx, byte [esi + 0x98]
mov edi, 0xe9e3b4d0
mov ebx, 0x2b2d5b0d
mov ch, dl
xor ch, cl
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x475550
mov eax, dword [0x517b90]
mov ebx, 0x40994eeb
mov edi, 0xdae1e7d5
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xdae1e7d5
sete cl
cmove eax, ebx
cmp dword [0x517b94], 0xa
setl dl
cmovge eax, edi
xor dl, cl
mov ecx, dword [esi + 0x1c]
cmovne eax, ebx
mov word [esi + 0x26], cx
jmp 0x474d70
cmp byte [esi + 0x12], 0
mov eax, 0xc0cab1aa
mov ecx, 0x84777fe3
cmovne eax, ecx
jmp 0x474d70
mov eax, dword [0x517b90]
mov ebx, 0x14378b7
mov edi, 0x1c492e4f
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x1c492e4f
sete cl
cmove eax, ebx
cmp dword [0x517b94], 0xa
setl dl
cmovge eax, edi
xor dl, cl
mov ecx, dword [esi + 0x3c]
cmovne eax, ebx
mov word [esi + 0x10], cx
jmp 0x474d70
mov eax, dword [esi + 0x48]
movzx ecx, word [esi + 0x10]
mov eax, 0x6c7bdbfe
mov dword [esi + 0x1c], ecx
jmp 0x474d70
mov eax, 0xca03f316
mov dword [esi + 0x40], 0
jmp 0x474d70
mov eax, dword [esi + 0xd0]
mov eax, dword [eax + 4]
mov dword [esi + eax + 0xd0], 0x502140
mov eax, dword [esi + 0xd0]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esi + eax + 0xcc], ecx
lea ecx, [esi + 0xe0]
call fcn.0047db70
lea eax, [esi + 0x140]
mov dword [esi + 0x140], 0x50213c
push eax
call fcn.0049e05c
add esp, 4
mov eax, dword [0x517b90]
mov ecx, dword [0x517b94]
mov edi, 0x2bd4aa91
lea edx, [eax - 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x91fb0365
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
mov ecx, dword [esi + 0x18]
mov ecx, dword [esi + 0x2c]
cmovge eax, edx
jmp 0x474d70
mov cl, byte [esi + 0x15]
mov eax, 0xca03f316
mov dword [esi + 0x40], ecx
jmp 0x474d70
mov eax, 0x40994eeb
jmp 0x474d70
cmp byte [esi + 0x98], 0
mov eax, 0x361bade6
mov ecx, 0x6c7bdbfe
mov dword [esi + 0x1c], 0
cmovne eax, ecx
jmp 0x474d70
mov ecx, dword [esi + 0x28]
call fcn.004011f0
mov eax, dword [0x517d2c]
mov ecx, dword [0x517d30]
mov edi, 0xe9e3b4d0
mov ebx, 0x1c08b87
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
cmovne edi, ebx
cmp edx, 0xffffffff
mov eax, edi
sete byte [esi + 0xf]
cmove eax, ebx
cmp ecx, 0xa
mov ecx, 0xe4f57ea6
cmovge eax, edi
setl byte [esi + 0x98]
nop dword [eax]
cmp ecx, 0x1c08b86
jg 0x4757c0
cmp ecx, 0xe4f57ea6
je 0x4757d8
cmp ecx, 0xe9e3b4d0
jne 0x4757a0
mov ecx, 0x2b2d5b0d
jmp 0x4757a0
cmp ecx, 0x1c08b87
je 0x47597b
cmp ecx, 0x2b2d5b0d
jne 0x4757a0
mov ecx, eax
jmp 0x4757a0
movzx edx, byte [esi + 0xf]
movzx ecx, byte [esi + 0x98]
mov edi, 0xe9e3b4d0
mov ebx, 0x2b2d5b0d
mov ch, dl
xor ch, cl
cmovne edi, ebx
test cl, cl
mov ecx, edi
cmovne ecx, ebx
test dl, dl
cmove ecx, edi
jmp 0x4757a0
lea ecx, [esi + 0xd0]
call fcn.00479bc0
mov cl, 1
mov eax, 0xa50c110b
mov dword [esi + 0x38], ecx
jmp 0x474d70
cmp byte [esi + 0x13], 0
mov eax, 0x469f90d3
mov ecx, 0xb4fff642
cmovne eax, ecx
jmp 0x474d70
mov eax, dword [esi + 0x94]
mov ecx, 0x3bd5a744
cmp eax, 5
mov eax, 0xf3141a16
cmovg eax, ecx
jmp 0x474d70
movzx eax, word [esi + 0x26]
mov eax, 0xc4257deb
jmp 0x474d70
lea ecx, [esi + 0xd0]
call fcn.00479bc0
push 0x309
call dword [0x5127cc]
mov dword [esi + 0x30], esp
sub esp, 0x1c
mov eax, dword [esi + 0x44]
mov edi, esp
mov ecx, edi
mov bl, byte [eax]
mov eax, dword [esi + 0x44]
inc bl
mov byte [eax], bl
push dword [esi + 0x28]
call fcn.00473740
mov byte [edi + 0x18], bl
call fcn.00474d30
add esp, 0x1c
mov eax, 0xa50c110b
mov dword [esi + 0x38], 0
mov esp, dword [esi + 0x30]
jmp 0x474d70
mov eax, dword [0x517b90]
mov edi, 0x61232198
mov ebx, 0x2c491a9d
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x2c491a9d
jmp 0x47591f
lea eax, [esi + 0xb0]
mov dword [esi + 0x4c], eax
mov ecx, dword [esi + 0x20]
push 0
push 8
push dword [esi + 0x4c]
call fcn.0047c1d0
mov ecx, dword [eax]
mov edi, 0x6f53a841
mov ebx, 0x1c492e4f
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx + 0xc]
not eax
or eax, 0xfffffff9
cmp eax, 0xffffffff
mov eax, dword [0x517b90]
sete byte [esi + 0x12]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x1c492e4f
sete cl
cmove eax, edi
cmp dword [0x517b94], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x474d70
mov eax, dword [0x517b90]
mov ebx, 0x87a7bc14
mov edi, 0x4a165b05
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x4a165b05
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x517b94], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x474d70
mov eax, 0x7fc5d53
jmp 0x474d70
mov ecx, dword [esi + 0x34]
mov eax, 0xb26cb2b
jmp 0x474d6a
mov al, byte [esi + 0x16]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret