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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x280
mov dword [esp + 0x134], edx
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ecx
mov eax, dword [ebp + 8]
mov dword [esp + 0x140], eax
mov ecx, dword [0x4de47c]
mov ecx, dword [ecx]
xor ecx, ebp
mov dword [esp + 0x27c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x208], edx
mov dword [esp + 0x204], ecx
mov dword [esp + 0x20c], eax
mov edx, dword [esp + 0x204]
mov dword [esp + 0x144], edx
mov ecx, dword [esp + 0x208]
mov dword [esp + 0x148], ecx
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x154], ecx
mov dword [esp + 0x150], edx
mov dword [esp + 0x158], eax
mov byte [esp + 0x15f], 0
cmp eax, ecx
jae 0x43ac64
jmp 0x43ac73
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x124], ecx
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x268], eax
mov esi, dword [esp + 0x268]
mov eax, dword [eax + 8]
mov dword [esp + 0x128], eax
mov edx, dword [esi]
mov esi, dword [esi + 4]
mov dword [esp + 0x12c], esi
add edx, eax
mov dword [esp + 0x130], edx
cmp eax, ecx
jbe 0x43b779
jmp 0x43b77b
mov eax, dword [esp + 0x118]
mov dword [esp + 0x11c], eax
cmp byte [eax + 4], 0
jne 0x43b6ea
jmp 0x43b6ff
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x210], eax
call fcn.0044c140
cmp eax, 0
seta al
mov byte [esp + 0x117], al
jmp 0x43acd5
lea eax, [0x4abe30]
mov dword [esp + 0x118], eax
jmp 0x43ac25
jmp 0x43ac42
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x254], 0
mov dword [esp + 0x258], ecx
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 0x108], eax
mov edx, dword [esp + 0x258]
mov ecx, dword [esp + 0x25c]
mov dword [esp + 0x10c], ecx
add edx, eax
mov dword [esp + 0x110], edx
cmp eax, ecx
jbe 0x43b5ba
jmp 0x43b5bc
mov al, byte [esp + 0x117]
xor al, 0xff
test al, 1
jne 0x43acf1
jmp 0x43acfc
mov al, byte [esp + 0x107]
test al, 1
jne 0x43ad14
jmp 0x43ad1f
mov al, 1
mov byte [esp + 0x107], al
jmp 0x43ace4
xor eax, eax
mov byte [esp + 0x107], al
jmp 0x43ace4
mov al, byte [esp + 0x106]
test al, 1
jne 0x43ad37
jmp 0x43ad45
mov al, 1
mov byte [esp + 0x106], al
jmp 0x43ad07
xor eax, eax
mov byte [esp + 0x106], al
jmp 0x43ad07
mov al, byte [esp + 0x105]
test al, 1
jne 0x43ad50
jmp 0x43ad68
call fcn.0044c180
mov byte [esp + 0x105], al
jmp 0x43ad2a
xor eax, eax
mov byte [esp + 0x105], al
jmp 0x43ad2a
mov eax, dword [esp + 0x210]
add eax, 0x20
mov dword [esp + 0x100], eax
setb al
jb 0x43ad97
jmp 0x43adba
jmp 0x43ac75
mov dword [esp + 0x1ac], 0
mov eax, dword [esp + 0x210]
add eax, 0x10
mov dword [esp + 0xfc], eax
setb al
jb 0x43b1db
jmp 0x43b1fe
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x148]
cmp eax, ecx
jae 0x43add9
xorps xmm0, xmm0
movaps xmmword [esp + 0x160], xmm0
jmp 0x43addd
jmp 0x43ad6d
jmp 0x43ad6d
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x214], ecx
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x210]
mov edx, dword [esp + 0x214]
mov ecx, dword [esp + 0x218]
mov dword [esp + 0xf0], ecx
add edx, eax
mov dword [esp + 0xf4], edx
add eax, 0x10
mov dword [esp + 0xf8], eax
cmp eax, ecx
jbe 0x43aec2
jmp 0x43aec4
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x224], ecx
mov dword [esp + 0x228], eax
mov eax, dword [esp + 0x210]
mov edx, dword [esp + 0x224]
mov ecx, dword [esp + 0x228]
mov dword [esp + 0xe4], ecx
add edx, eax
mov dword [esp + 0xe8], edx
add eax, 0x10
mov dword [esp + 0xec], eax
cmp eax, ecx
jbe 0x43b042
jmp 0x43b044
mov eax, dword [esp + 0xf4]
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x170], xmm0
xorps xmm1, xmm1
pcmpeqb xmm0, xmm1
movaps xmmword [esp + 0xd0], xmm0
pmovmskb eax, xmm0
mov word [esp + 0x18e], ax
cmp ax, 0
jne 0x43aef6
jmp 0x43af24
jmp 0x43ae8d
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf8]
call fcn.00401ee0
mov eax, dword [esp + 0x210]
add eax, 0x10
mov dword [esp + 0xcc], eax
setb al
jb 0x43afb8
jmp 0x43afdb
movaps xmm0, xmmword [esp + 0xd0]
mov eax, dword [esp + 0x210]
mov dword [esp + 0xc8], eax
lea ecx, [esp + 0x1fc]
call fcn.0044c1a0
cmp byte [esp + 0x1fd], 0
jne 0x43af48
jmp 0x43af4a
jmp 0x43aed7
mov eax, dword [esp + 0xc8]
movzx ecx, byte [esp + 0x1fc]
and ecx, 0xf
add eax, ecx
mov dword [esp + 0xc4], eax
setb al
jb 0x43af6c
jmp 0x43af8f
jmp 0x43af26
mov ecx, str.attempt_to_use_null_value
mov edx, 0x19
xor eax, eax
lea eax, [0x4abe30]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x21c], eax
mov byte [esp + 0x220], 1
lea eax, [esp + 0x21c]
mov dword [esp + 0x118], eax
jmp 0x43ac25
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x210], eax
jmp 0x43ae35
mov eax, dword [esp + 0x210]
add eax, 0x20
mov dword [esp + 0xc0], eax
setb al
jb 0x43b173
jmp 0x43b196
mov eax, dword [esp + 0xe8]
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x190], xmm0
xorps xmm1, xmm1
pcmpeqb xmm0, xmm1
movaps xmmword [esp + 0xb0], xmm0
pmovmskb eax, xmm0
mov word [esp + 0x1aa], ax
cmp ax, 0
jne 0x43b076
jmp 0x43b0a4
jmp 0x43b00d
mov edx, dword [esp + 0xe4]
mov ecx, dword [esp + 0xec]
call fcn.00401ee0
mov eax, dword [esp + 0x210]
add eax, 0x10
mov dword [esp + 0xac], eax
setb al
jb 0x43b138
jmp 0x43b15b
movaps xmm0, xmmword [esp + 0xb0]
mov eax, dword [esp + 0x210]
mov dword [esp + 0xa8], eax
lea ecx, [esp + 0x1fe]
call fcn.0044c1a0
cmp byte [esp + 0x1ff], 0
jne 0x43b0c8
jmp 0x43b0ca
jmp 0x43b057
mov eax, dword [esp + 0xa8]
movzx ecx, byte [esp + 0x1fe]
and ecx, 0xf
add eax, ecx
mov dword [esp + 0xa4], eax
setb al
jb 0x43b0ec
jmp 0x43b10f
jmp 0x43b0a6
mov ecx, str.attempt_to_use_null_value
mov edx, 0x19
xor eax, eax
lea eax, [0x4abe30]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x22c], eax
mov byte [esp + 0x230], 1
lea eax, [esp + 0x22c]
mov dword [esp + 0x118], eax
jmp 0x43ac25
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0xac]
mov dword [esp + 0x210], eax
jmp 0x43afee
jmp 0x43addd
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x148]
cmp eax, ecx
jb 0x43b1ad
jmp 0x43addb
jmp 0x43b16e
mov dword [esp + 0x1dc], 1
mov eax, dword [esp + 0x210]
add eax, 8
mov dword [esp + 0xa0], eax
setb al
jb 0x43b3c7
jmp 0x43b3ea
jmp 0x43b1af
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x148]
cmp eax, ecx
jae 0x43b26c
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
xorps xmm0, xmm0
movaps xmmword [esp + 0x1b0], xmm0
mov dword [esp + 0x238], ecx
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x210]
mov edx, dword [esp + 0x234]
mov ecx, dword [esp + 0x238]
mov dword [esp + 0x94], ecx
add edx, eax
mov dword [esp + 0x98], edx
add eax, 0x10
mov dword [esp + 0x9c], eax
cmp eax, ecx
jbe 0x43b2a6
jmp 0x43b2a8
jmp 0x43b1d9
mov eax, dword [esp + 0x98]
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x1c0], xmm0
xorps xmm1, xmm1
pcmpeqb xmm0, xmm1
movaps xmmword [esp + 0x80], xmm0
pmovmskb eax, xmm0
mov word [esp + 0x1da], ax
cmp ax, 0
jne 0x43b2d7
jmp 0x43b302
jmp 0x43b271
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
call fcn.00401ee0
mov eax, dword [esp + 0x210]
add eax, 0x10
mov dword [esp + 0x7c], eax
setb al
jb 0x43b38d
jmp 0x43b3b0
movaps xmm0, xmmword [esp + 0x80]
mov eax, dword [esp + 0x210]
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x200]
call fcn.0044c1a0
cmp byte [esp + 0x201], 0
jne 0x43b320
jmp 0x43b322
jmp 0x43b2bb
mov eax, dword [esp + 0x78]
movzx ecx, byte [esp + 0x200]
and ecx, 0xf
add eax, ecx
mov dword [esp + 0x74], eax
setb al
jb 0x43b344
jmp 0x43b367
jmp 0x43b304
mov ecx, str.attempt_to_use_null_value
mov edx, 0x19
xor eax, eax
lea eax, [0x4abe30]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0x74]
mov dword [esp + 0x23c], eax
mov byte [esp + 0x240], 1
lea eax, [esp + 0x23c]
mov dword [esp + 0x118], eax
jmp 0x43ac25
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x210], eax
jmp 0x43b1d9
jmp 0x43ac75
jmp 0x43b3c0
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x148]
cmp eax, ecx
jae 0x43b450
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
xorps xmm0, xmm0
movsd qword [esp + 0x1e0], xmm0
mov dword [esp + 0x248], ecx
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0x210]
mov edx, dword [esp + 0x244]
mov ecx, dword [esp + 0x248]
mov dword [esp + 0x68], ecx
add edx, eax
mov dword [esp + 0x6c], edx
add eax, 8
mov dword [esp + 0x70], eax
cmp eax, ecx
jbe 0x43b48d
jmp 0x43b48f
jmp 0x43b3c5
mov eax, dword [esp + 0x6c]
movsd xmm1, qword [eax]
movaps xmm0, xmm1
movsd qword [esp + 0x1e8], xmm1
xorps xmm1, xmm1
pcmpeqb xmm0, xmm1
movaps xmm1, xmm0
punpcklbw xmm1, xmm2
movaps xmmword [esp + 0x50], xmm1
pmovmskb eax, xmm0
mov byte [esp + 0x1f2], al
cmp al, 0
jne 0x43b4b8
jmp 0x43b4e0
jmp 0x43b455
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x70]
call fcn.00401ee0
mov eax, dword [esp + 0x210]
add eax, 8
mov dword [esp + 0x4c], eax
setb al
jb 0x43b56b
jmp 0x43b58e
movaps xmm0, xmmword [esp + 0x50]
mov eax, dword [esp + 0x210]
mov dword [esp + 0x48], eax
lea ecx, [esp + 0x202]
call fcn.0044c3b0
cmp byte [esp + 0x203], 0
jne 0x43b4fe
jmp 0x43b500
jmp 0x43b49c
mov eax, dword [esp + 0x48]
movzx ecx, byte [esp + 0x202]
and ecx, 7
add eax, ecx
mov dword [esp + 0x44], eax
setb al
jb 0x43b522
jmp 0x43b545
jmp 0x43b4e2
mov ecx, str.attempt_to_use_null_value
mov edx, 0x19
xor eax, eax
lea eax, [0x4abe30]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24c], eax
mov byte [esp + 0x250], 1
lea eax, [esp + 0x24c]
mov dword [esp + 0x118], eax
jmp 0x43ac25
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x210], eax
jmp 0x43b3c5
mov eax, dword [esp + 0x10c]
mov edx, dword [esp + 0x108]
mov ecx, eax
sub ecx, edx
mov dword [esp + 0x40], ecx
cmp eax, eax
jbe 0x43b5e3
jmp 0x43b5e5
jmp 0x43b59e
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
call fcn.00401eb0
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
cmp eax, ecx
jbe 0x43b613
jmp 0x43b615
jmp 0x43b5cf
mov edx, dword [esp + 0x10c]
mov ecx, edx
call fcn.00401ee0
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 0x3c], eax
jmp 0x43b63a
jmp 0x43b5f3
mov edx, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
call fcn.00401ee0
lea eax, [0x4abe30]
mov dword [esp + 0x118], eax
jmp 0x43ac25
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x254]
mov dword [esp + 0x30], eax
cmp eax, ecx
jb 0x43b65f
jmp 0x43b686
mov eax, dword [esp + 0x30]
add eax, 1
mov dword [esp + 0x254], eax
jmp 0x43b63a
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov dl, byte [edx + ecx]
mov byte [esp + 0x2b], dl
mov byte [esp + 0x1f3], dl
add eax, ecx
mov dword [esp + 0x2c], eax
setb al
jb 0x43b688
jmp 0x43b6ab
jmp 0x43b628
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov al, byte [esp + 0x2b]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1f4], ecx
cmp al, 0
je 0x43b6c2
jmp 0x43b6e8
jmp 0x43b64f
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x260], eax
mov byte [esp + 0x264], 1
lea eax, [esp + 0x260]
mov dword [esp + 0x118], eax
jmp 0x43ac25
jmp 0x43b6c0
mov eax, dword [esp + 0x11c]
mov eax, dword [eax]
mov dword [esp + 0x120], eax
jmp 0x43abcf
mov ecx, dword [esp + 0x134]
call fcn.00401c30
mov eax, dword [esp + 0x138]
mov ecx, dword [0x4abe38]
mov dword [eax], ecx
mov ecx, dword [0x4abe3c]
mov dword [eax + 4], ecx
mov ecx, dword [0x4abe40]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x27c]
xor ecx, ebp
mov eax, dword [0x4de47c]
mov eax, dword [eax]
sub eax, ecx
jne 0x43b742
jmp 0x43b747
call fcn.004a85b0
mov eax, dword [esp + 0x13c]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0x128]
mov ecx, eax
sub ecx, edx
mov dword [esp + 0x20], ecx
add eax, 1
mov dword [esp + 0x24], eax
setb al
jb 0x43b78e
jmp 0x43b7b1
jmp 0x43b755
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
call fcn.00401eb0
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x12c]
cmp eax, ecx
jbe 0x43b7d6
jmp 0x43b7d8
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x124]
cmp eax, ecx
jbe 0x43b80c
jmp 0x43b80e
jmp 0x43b7c2
mov edx, dword [esp + 0x12c]
mov ecx, dword [esp + 0x24]
call fcn.00401ee0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x130]
mov edx, ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov cl, byte [eax + ecx]
mov byte [esp + 0x1f], cl
xor eax, eax
cmp al, cl
je 0x43b852
jmp 0x43b854
jmp 0x43b7e8
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
call fcn.00401ee0
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x26c], ecx
mov ecx, dword [esp + 0x26c]
add ecx, 8
mov dword [esp + 0xc], ecx
add eax, 1
mov dword [esp + 0x10], eax
setb al
jb 0x43b862
jmp 0x43b885
jmp 0x43b821
mov al, byte [esp + 0x1f]
xor ecx, ecx
movzx edx, al
call fcn.00402570
lea ecx, [0x4aa18c]
mov edx, 0x10
xor eax, eax
lea eax, [0x4aa1a0]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00401e40
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x10]
mov dword [esi], edi
mov word [esp + 0x278], 0
mov dword [esp + 0x274], edx
mov dword [esp + 0x270], ecx
mov ecx, dword [esp + 0x270]
mov dword [eax], ecx
mov ecx, dword [esp + 0x274]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x278]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x27c]
xor ecx, ebp
mov eax, dword [0x4de47c]
mov eax, dword [eax]
sub eax, ecx
jne 0x43b742
jmp 0x43b8ed
mov eax, dword [esp + 0x13c]
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret