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

Disassembly:
sub esp, 0xd0
mov eax, dword [0x517490]
xor eax, esp
mov dword [esp + 0xcc], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0xe0]
xor ecx, ecx
mov ebp, dword [esp + 0xe4]
xorps xmm0, xmm0
push edi
mov dword [esp + 0x18], esi
lea edi, [esp + 0xa0]
mov al, byte [esi + 0x30]
mov ebx, ebp
add al, 0x30
mov byte [esp + 0x15], cl
mov byte [esp + 0x14], al
mov al, byte [esi + 0x50]
add esi, 0x40
push 0xa
add al, 0x30
mov byte [esp + 0x15], cl
mov byte [esp + 0x14], al
lea eax, [esp + 0xd0]
movsd dword es:[edi], dword [esi]
movdqu xmmword [esp + 0x84], xmm0
movdqu xmmword [esp + 0x94], xmm0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x1c]
pop edi
push edi
push eax
push dword [esi + 0x38]
call fcn.004ba1ee
push edi
lea eax, [esp + 0xbc]
push eax
push dword [esi + 0x58]
call fcn.004ba1ee
push edi
lea eax, [esp + 0xd8]
push eax
push dword [esi + 0x54]
call fcn.004ba1ee
add esp, 0x24
cmp dword [esi + 0xc], 0
je 0x422c5c
push edi
lea eax, [esp + 0x84]
push eax
push dword [esi + 0xc]
call fcn.004ba234
push edi
lea eax, [esp + 0xa0]
push eax
mov eax, dword [esi + 0x10]
cdq
push edx
push eax
call fcn.004ba219
add esp, 0x1c
push 0x8012480f
push 0x6f90866a
push 0x9422da2c
call fcn.0040196b
push 0x75aafbb0
mov dword [esp + 0x30], eax
lea eax, [esp + 0x24]
push 0x9a2835d5
push 0x619a6997
mov dword [esp + 0x3c], eax
call fcn.0040196b
push 0xce2c729a
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x34]
push 0x21aebcff
push 0xda1ce0b1
mov dword [esp + 0x50], eax
call fcn.0040196b
push 0x6aaadd0e
mov dword [esp + 0x58], eax
lea eax, [esp + 0xf4]
push 0x8528136b
push 0x7e9a4f21
mov dword [esp + 0x64], eax
call fcn.0040196b
push 0xd237f41d
mov dword [esp + 0x6c], eax
lea eax, [esp + 0xe0]
push 0x3db53a78
push 0xc607662e
mov dword [esp + 0x78], eax
call fcn.0040196b
push 0xc9491049
mov dword [esp + 0x80], eax
lea eax, [esp + 0xfc]
push 0x26cbde2c
push 0xdd79827e
mov dword [esp + 0x8c], eax
call fcn.0040196b
add esp, 0x48
mov dword [esp + 0x48], eax
lea eax, [esi + 0x5c]
mov dword [esp + 0x4c], eax
push 0xac59f551
push 0x43db3b34
push 0xb869676a
call fcn.0040196b
push 0xb698da04
mov dword [esp + 0x60], eax
lea eax, [esp + 0x20]
push 0x591a1461
push 0xa2a8483b
mov dword [esp + 0x6c], eax
call fcn.0040196b
push 0x6a33ff96
mov dword [esp + 0x74], eax
lea eax, [esp + 0xbc]
push 0x85b131f3
push 0x7e036d95
mov dword [esp + 0x80], eax
call fcn.0040196b
push 0x95c3038f
mov dword [esp + 0x88], eax
mov eax, dword [esi + 0x48]
push 0x7a41cdea
push 0x81f39188
mov dword [esp + 0x94], eax
call fcn.0040196b
push 0xeaddab38
mov dword [esp + 0x9c], eax
mov eax, dword [esi + 0x4c]
push 0x55f655c
push 0xfeed3932
mov dword [esp + 0xa8], eax
call fcn.0040196b
push 0x63690962
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xc0]
push 0x8cebc706
mov dword [esp + 0xb8], eax
push 0x77599b6e
call fcn.0040196b
add esp, 0x48
mov dword [esp + 0x78], eax
lea eax, [esp + 0x90]
xor ecx, ecx
mov dword [esp + 0x7c], eax
mov edi, ecx
mov esi, dword [esp + edi*8 + 0x24]
test esi, esi
je 0x422e6f
cmp byte [esi], 0
je 0x422e6f
cmp ebx, ebp
je 0x422e24
mov byte [ebx], 0x26
inc ebx
mov edx, dword [esp + edi*8 + 0x20]
mov eax, ebx
sub eax, edx
mov dword [esp + 0x18], eax
mov ecx, eax
mov al, byte [edx]
mov byte [ecx + edx], al
inc edx
test al, al
jne 0x422e32
mov edx, ebx
xor ecx, ecx
lea eax, [edx + 1]
mov dword [esp + 0x18], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x422e47
sub edx, dword [esp + 0x18]
add ebx, edx
mov byte [ebx], 0x3d
inc ebx
jmp 0x422e67
cmp al, 0x26
jne 0x422e63
mov byte [ebx], 0x2d
jmp 0x422e65
mov byte [ebx], al
inc ebx
inc esi
mov al, byte [esi]
test al, al
jne 0x422e5a
mov byte [ebx], cl
inc edi
cmp edi, 0xc
jb 0x422e0f
cmp byte [esp + 0xec], 0
mov dword [esp + 0x1c], ebx
je 0x422eb4
mov edx, ebp
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x422e88
sub edx, ecx
test edx, edx
jle 0x422eb4
lea esi, [edx - 1]
xor ebx, ebx
cmp ebx, esi
jge 0x422eb0
mov al, byte [ebx + ebp]
mov cl, byte [esi + ebp]
mov byte [esi + ebp], al
mov byte [ebx + ebp], cl
inc ebx
dec esi
cmp ebx, edx
jl 0x422e9a
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xdc]
sub ebx, ebp
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
xor ecx, esp
call fcn.004b94b6
add esp, 0xd0
ret