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

Disassembly:
sub esp, 0x58
mov eax, dword [0x97ffc0]
xor eax, esp
mov dword [esp + 0x54], eax
push ebx
push ebp
mov ebp, dword [esp + 0x6c]
push esi
mov esi, dword [esp + 0x6c]
push edi
mov edi, dword [esp + 0x6c]
push esi
push 0x1b6
push edi
call fcn.0041d840
push esi
push 0x1b7
push edi
mov dword [esp + 0x3c], eax
call fcn.0041d840
mov esi, dword [edi + 0x10]
add esp, 0x18
cmp byte [esp + 0x78], 0
mov ebx, eax
mov dword [esp + 0x28], ebx
push 0x20
push 0
je 0x4226e0
push 0x1f
call fcn.0040fd20
push 0x20
push 1
push esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4226ce
mov eax, dword [esp + 0x10]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x14]
push esi
push edi
mov dword [esi + 0x34], eax
call fcn.0041dc20
add esp, 8
add esi, 0x18
push esi
push ebx
push 0x153
push edi
call fcn.0041d890
add esp, 0x10
jmp 0x422717
push 0
call fcn.0040fd20
push 0x20
push 1
push esi
mov ebx, eax
mov dword [esp + 0x28], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x422717
mov eax, dword [esp + 0x10]
push esi
mov dword [esi + 0x30], ebx
push edi
mov dword [esi + 0x34], eax
call fcn.0041dc20
add esp, 8
lea eax, [esi + 0x18]
push ebp
push 0x1b6
push edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
call fcn.0041d840
push ebp
push 0x1b7
push edi
mov dword [esp + 0x4c], eax
call fcn.0041d840
mov esi, dword [edi + 0x10]
add esp, 0x18
cmp byte [esp + 0x78], 0
mov ebx, eax
mov dword [esp + 0x38], ebx
push 0x20
push 0
je 0x4227a3
push 0x1f
call fcn.0040fd20
push 0x20
push 1
push esi
mov ebp, eax
mov dword [esp + 0x28], edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x422789
mov eax, dword [esp + 0x10]
push esi
mov dword [esi + 0x30], ebp
push edi
mov dword [esi + 0x34], eax
call fcn.0041dc20
add esp, 8
add esi, 0x18
push esi
push ebx
push 0x153
push edi
call fcn.0041d890
add esp, 0x10
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
jmp 0x4227dc
push 0
call fcn.0040fd20
push 0x20
push 1
push esi
mov ebx, eax
mov ebp, edx
call fcn.00409be0
mov esi, eax
add esp, 0x18
test esi, esi
je 0x4227d4
push esi
mov dword [esi + 0x30], ebx
push edi
mov dword [esi + 0x34], ebp
call fcn.0041dc20
add esp, 8
add esi, 0x18
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], esi
push 0x20
xorps xmm0, xmm0
mov dword [esp + 0x48], 0
push 0
push 0x20
movups xmmword [esp + 0x54], xmm0
mov dword [esp + 0x6c], 0
movq qword [esp + 0x64], xmm0
call fcn.0040fd20
add esp, 0xc
mov dword [esp + 0x18], eax
xor ecx, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
mov edx, dword [esp + ecx + 0x24]
lea ebp, [esp + 0x44]
xor eax, eax
mov dword [esp + 0x20], edx
xor ebx, ebx
mov dword [esp + 0x14], eax
add ebp, ecx
nop dword [eax]
push dword [esp + eax*4 + 0x34]
push edx
push 0x1ac
push edi
call fcn.0041d890
mov esi, eax
add esp, 0x10
mov eax, dword [ebp]
test eax, eax
je 0x422873
cmp byte [eax + 0x11], 0x40
je 0x422861
push eax
push 0x18a
push edi
call fcn.0041d840
add esp, 0xc
push eax
push esi
push 0x122
push edi
call fcn.0041d890
add esp, 0x10
mov esi, eax
test ebx, ebx
je 0x422889
push ebx
push esi
push 0x122
push edi
call fcn.0041d890
add esp, 0x10
mov esi, eax
cmp byte [esi + 0x11], 0x20
jne 0x422893
mov eax, esi
jmp 0x4228a2
push esi
push 0x189
push edi
call fcn.0041d840
add esp, 0xc
push 0x20
push 1
push dword [edi + 0x10]
mov dword [ebp], eax
call fcn.00409be0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x4228d5
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x30], eax
mov eax, dword [esp + 0x1c]
push ebx
push edi
mov dword [ebx + 0x34], eax
call fcn.0041dc20
add esp, 8
add ebx, 0x18
push ebx
push esi
push 0x1c5
push edi
call fcn.0041d890
mov edx, dword [esp + 0x30]
mov ebx, eax
mov eax, dword [esp + 0x24]
add esp, 0x10
inc eax
add ebp, 4
mov dword [esp + 0x14], eax
cmp eax, 4
jb 0x422830
cmp byte [ebx + 0x11], 0x20
je 0x422917
push ebx
push 0x189
push edi
call fcn.0041d840
add esp, 0xc
mov ebx, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + ecx + 0x54], ebx
add ecx, 4
mov dword [esp + 0x10], ecx
cmp ecx, 0x10
jb 0x422816
push dword [esp + 0x50]
push dword [esp + 0x50]
push 0x168
push edi
call fcn.0041d890
mov ecx, dword [esp + 0x74]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004eee05
add esp, 0x58
ret