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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
mov esi, ecx
mov ebx, dword [ebp + 8]
mov eax, dword [0x100c51b8]
xor eax, ebp
mov dword [esp + 0xb0], eax
lea eax, [ecx + 0x18]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
lea eax, [ebx + 0x30]
mov dword [esp + 0x48], eax
lea eax, [ebx + 0x18]
mov dword [esp + 0x44], eax
lea eax, [ebx + 4]
mov dword [esp + 0x40], eax
lea eax, [ebx + 0xc]
mov dword [esp + 0x3c], eax
lea eax, [ebx + 8]
mov dword [esp + 0x38], eax
lea eax, [ecx + 0x1c]
mov dword [esp + 0x34], eax
mov eax, 0xc9488d79
mov dword [esp + 0x30], esi
cmp eax, 0xfcec78e7
jle 0x100463f2
cmp eax, 0x32a237b7
jle 0x1004643e
cmp eax, 0x6d1da30f
jg 0x100464be
cmp eax, 0x587d31ee
jg 0x1004657b
cmp eax, 0x32a237b8
je 0x10046730
cmp eax, 0x4f2158af
je 0x10046721
jmp 0x100463b6
cmp eax, 0xbac38c30
jle 0x10046485
cmp eax, 0xe2f687c8
jg 0x100464f9
cmp eax, 0xc9488d78
jg 0x100465c4
cmp eax, 0xbac38c31
je 0x1004677c
cmp eax, 0xbe0c030d
jne 0x100463b6
mov eax, dword [esp + 4]
cmp byte [eax], 0
mov eax, 0x14afc0a1
mov ecx, 0xb9d5a34d
cmove eax, ecx
jmp 0x100463b6
cmp eax, 0x1908943a
jle 0x1004651f
cmp eax, 0x307c380c
jg 0x100465fb
cmp eax, 0x1908943b
je 0x10046807
cmp eax, 0x1f25eedb
jne 0x100463b6
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x80]
push eax
call fcn.10048470
mov eax, 0x5b6dff6e
jmp 0x100463b6
cmp eax, 0x9c13bb75
jle 0x1004654d
cmp eax, 0xab4e0ab2
jg 0x10046647
cmp eax, 0x9c13bb76
je case.0x10046788.7
cmp eax, 0xa33d24a2
jne 0x100463b6
mov ecx, esi
push ebx
call fcn.1004794c
jmp 0x100467e4
cmp eax, 0x713b97b3
jg 0x10046674
cmp eax, 0x6d1da310
je case.0x10046788.6
cmp eax, 0x6fe14e2b
jne 0x100463b6
mov eax, dword [esp + 0x18]
cmp byte [eax + 4], 0
mov eax, 0x713b97b4
mov ecx, 0x307c380d
cmove eax, ecx
jmp 0x100463b6
cmp eax, 0xe433ce93
jle 0x10046716
cmp eax, 0xe433ce94
je 0x10046816
cmp eax, 0xf56c3f34
je case.0x10046788.16
jmp 0x100463b6
cmp eax, 0xfcec78e8
je case.0x10046788.5
cmp eax, 0x14afc0a1
je 0x10046824
cmp eax, 0x171d05d7
jne 0x100463b6
mov ecx, esi
push ebx
call fcn.10047374
jmp 0x100467e4
cmp eax, 0x8019dbfc
je case.0x10046788.4
cmp eax, 0x8848657e
je case.0x10046788.12
cmp eax, 0x9572aca0
jne 0x100463b6
mov ecx, esi
push ebx
call fcn.100473f8
jmp 0x100467e4
cmp eax, 0x587d31ef
je 0x10046833
cmp eax, 0x5b6dff6e
jne 0x100463b6
lea ecx, [esp + 0x80]
call fcn.100490dc
lea ecx, [esp + 0x68]
call fcn.100087f0
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x90]
call fcn.10046934
mov eax, dword [esp + 0x28]
mov eax, 0xbe0c030d
jmp 0x100463b6
cmp eax, 0xc9488d79
je 0x1004684a
cmp eax, 0xe227dbd7
jne 0x100463b6
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
cmp dword [eax], 1
mov eax, 0xbac38c31
mov ecx, 0xf56c3f34
cmove eax, ecx
jmp 0x100463b6
cmp eax, 0x307c380d
je 0x10046861
cmp eax, 0x31099011
jne 0x100463b6
mov ecx, esi
call fcn.10046cf0
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [esp + 4]
cmp byte [eax], 0
mov eax, 0xe30e4d47
mov ecx, 0x587d31ef
cmove eax, ecx
jmp 0x100463b6
cmp eax, 0xab4e0ab3
je case.0x10046788.16
cmp eax, 0xb9d5a34d
jne 0x100463b6
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov edi, dword [eax + 0x10]
sub edi, dword [esp + 0x4c]
mov eax, 0xe433ce94
jmp 0x100463b6
cmp eax, 0x713b97b4
je 0x1004689a
cmp eax, 0x75d27209
jne 0x100463b6
mov esi, edi
lea edi, [esp + 0x90]
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x28]
mov ecx, edi
push dword [esp + 0x44]
call fcn.10046302
lea edx, [esp + 0x50]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
xor eax, eax
mov dword [esp + 0x68], eax
movaps xmm0, xmmword [0x100b5040]
movups xmmword [esp + 0x78], xmm0
mov byte [esp + 0x68], 0
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x58], eax
mov eax, dword [ebx]
mov dword [esp + 0x50], eax
mov ecx, edi
mov edi, esi
mov esi, dword [esp + 0x30]
push edx
call fcn.10046f28
test al, al
mov eax, 0x5b6dff6e
mov ecx, 0x1f25eedb
cmovne eax, ecx
jmp 0x100463b6
cmp eax, 0xe30e4d47
jne 0x100468ac
mov eax, 0xe433ce94
mov edi, 0xfffffffe
jmp 0x100463b6
movzx eax, byte [esp + 0xb]
xor ecx, ecx
cmp eax, 7
setae cl
mov dword [ebx], ecx
mov ecx, eax
shr ecx, 5
and ecx, 1
mov dword [ebx + 4], ecx
and eax, 0x1f
mov dword [ebx + 8], eax
xor eax, eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmp dword [eax], 0x1f
mov eax, 0x31099011
mov ecx, 0x1908943b
cmove eax, ecx
jmp 0x100463b6
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
dec eax
cmp eax, 0x17
ja case.0x10046788.7
jmp dword [eax*4 + 0x100468d4]
mov ecx, esi
push ebx
call fcn.10047f72
jmp 0x100467e4
mov ecx, esi
push ebx
call fcn.10046f28
jmp 0x100467e4
mov ecx, esi
push ebx
call fcn.10047f72
mov ecx, eax
xor cl, 1
mov edx, dword [esp + 4]
mov byte [edx], cl
test al, al
mov eax, 0xbe0c030d
mov ecx, 0x75d27209
cmovne eax, ecx
jmp 0x100463b6
xor eax, eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x10], eax
mov eax, 0xbe0c030d
jmp 0x100463b6
mov ecx, esi
push ebx
call fcn.100480fc
xor al, 1
mov ecx, dword [esp + 4]
mov byte [ecx], al
mov eax, 0xbe0c030d
jmp 0x100463b6
mov eax, dword [esp + 4]
mov byte [eax], 1
mov eax, 0xbe0c030d
jmp 0x100463b6
mov eax, 0xe433ce94
mov edi, 0xfffffffb
jmp 0x100463b6
mov eax, 0xe2f687c9
mov dword [esp + 0x14], edi
jmp 0x100463b6
mov eax, 0xe433ce94
mov edi, 0xfffffffa
jmp 0x100463b6
cmp dword [esp + 0x1c], 0
mov eax, 0xe227dbd7
mov ecx, 0xe30e4d47
cmovs eax, ecx
jmp 0x100463b6
cmp dword [esp + 0x18], 0
mov eax, 0x6fe14e2b
mov ecx, 0x713b97b4
cmove eax, ecx
jmp 0x100463b6
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x4c], eax
mov ecx, esi
call fcn.100469c6
mov byte [esp + 0xb], al
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp byte [eax], 0
mov eax, 0x4f2158af
mov ecx, 0x32a237b8
cmove eax, ecx
jmp 0x100463b6
mov eax, 0xe2f687c9
mov dword [esp + 0x14], 0xfffffffd
jmp 0x100463b6
cmp eax, 0xe2f687c9
jne 0x100463b6
mov ecx, dword [esp + 0xb0]
xor ecx, ebp
call fcn.100879aa
mov eax, dword [esp + 0x14]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4