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

Disassembly:
sub esp, 0x9c
mov eax, dword [0x572844]
xor eax, esp
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
push ebx
mov ebx, dword [esp + 0xa8]
add edx, ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x2c], edx
mov eax, dword [edi + 0x74b0]
mov esi, dword [edi + 0x7570]
mov ebp, dword [edi + 0x7580]
mov dword [esp + 0x34], eax
add ebp, esi
cmp dword [esp + 0xc4], 0
mov eax, dword [edi + 0x74b4]
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 0x74b8]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x30], eax
je 0x432a02
push dword [esp + 0xc0]
mov dword [edi + 0x7504], 1
mov eax, dword [edi + 0x682c]
mov dword [esp + 0xa0], eax
mov eax, dword [edi + 0x6830]
mov dword [esp + 0xa4], eax
mov eax, dword [edi + 0x6834]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x74]
push ecx
push eax
call fcn.00433300
cmp eax, 0xffffff88
jbe 0x4321fe
mov eax, 0xffffffec
jmp 0x432a28
mov esi, dword [edi]
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov edx, dword [esi + 4]
add ecx, edx
mov dword [esp + 0x74], ecx
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x544d18]
mov dword [esp + 0x84], eax
lea eax, [esp + 0x70]
push eax
call fcn.00433460
mov ecx, dword [esp + 0x74]
lea eax, [esi + 8]
mov esi, dword [edi + 8]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x70]
mov edx, dword [esi + 4]
add ecx, edx
mov dword [esp + 0x74], ecx
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x544d18]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x70]
push eax
call fcn.00433460
mov ecx, dword [esp + 0x74]
lea eax, [esi + 8]
mov esi, dword [edi + 4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x70]
mov edx, dword [esi + 4]
add ecx, edx
mov dword [esp + 0x74], ecx
neg ecx
and ecx, 0x1f
shr eax, cl
and eax, dword [edx*4 + 0x544d18]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x70]
push eax
call fcn.00433460
mov ebp, dword [esp + 0x8c]
lea eax, [esi + 8]
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x98], eax
jmp 0x4322d0
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
mov ebx, dword [ecx + eax*8]
mov esi, dword [ecx + eax*8 + 4]
mov ecx, ebx
mov eax, esi
mov dword [esp + 0x40], ebx
shrd ecx, eax, 0x10
mov eax, dword [esp + 0x98]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x20], esi
mov ebx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, ebx
mov dword [esp + 0x28], eax
shrd ecx, eax, 0x10
mov eax, dword [esp + 0x90]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x60], ebx
mov ecx, dword [eax + ebp*8]
mov ebp, dword [eax + ebp*8 + 4]
mov eax, ebp
mov dword [esp + 0x48], ecx
mov dword [esp + 0x68], ecx
shrd ecx, eax, 0x10
cmp cl, 1
jbe 0x43241c
cmp dword [esp + 0xc8], 0
je 0x4323c9
cmp cl, 0x19
jb 0x4323c9
mov eax, 0x20
movzx esi, cl
sub eax, edi
cmp esi, eax
jae 0x43236c
mov eax, esi
mov ecx, edi
sub esi, eax
and ecx, 0x1f
add edi, eax
shl edx, cl
mov ecx, eax
neg ecx
mov dword [esp + 0x74], edi
and ecx, 0x1f
lea eax, [esp + 0x70]
shr edx, cl
mov ecx, esi
shl edx, cl
push eax
lea ebx, [edx + ebp]
mov dword [esp + 0x14], ebx
call fcn.00433460
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
test esi, esi
je 0x4323c3
mov ecx, edi
mov eax, edx
and ecx, 0x1f
add edi, esi
shl eax, cl
mov ecx, esi
neg ecx
mov dword [esp + 0x74], edi
and ecx, 0x1f
shr eax, cl
add ebx, eax
mov dword [esp + 0x10], ebx
mov esi, dword [esp + 0x20]
jmp 0x4323fb
movzx eax, cl
mov ecx, edi
and ecx, 0x1f
add edi, eax
shl edx, cl
mov ecx, eax
neg ecx
mov dword [esp + 0x74], edi
and ecx, 0x1f
lea eax, [esp + 0x70]
shr edx, cl
push eax
lea ebx, [edx + ebp]
mov dword [esp + 0x14], ebx
call fcn.00433460
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa0], eax
jmp 0x4324b7
xor ebx, ebx
test esi, esi
sete bl
test cl, cl
jne 0x432455
test esi, esi
je 0x432437
mov ebp, dword [esp + 0x9c]
jmp 0x4324c2
mov ebp, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], ebp
jmp 0x4324c2
mov ecx, edi
mov eax, edx
and ecx, 0x1f
inc edi
shl eax, cl
shr eax, 0x1f
mov dword [esp + 0x74], edi
lea ecx, [eax + ebp]
mov ebp, dword [esp + 0x9c]
add ecx, ebx
cmp ecx, 3
jne 0x432489
lea eax, [ebp - 1]
xor ebx, ebx
test eax, eax
sete bl
add ebx, eax
mov dword [esp + 0x10], ebx
jmp 0x4324a2
mov eax, dword [esp + ecx*4 + 0x9c]
xor ebx, ebx
test eax, eax
sete bl
add ebx, eax
mov dword [esp + 0x10], ebx
cmp ecx, 1
je 0x4324b0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa0], ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x9c], ebx
mov ecx, dword [esp + 0x1c]
movzx eax, cl
mov dword [esp + 0x1c], eax
test cl, cl
je 0x4324f3
mov ecx, edi
mov ebx, edx
and ecx, 0x1f
add edi, eax
shl ebx, cl
mov ecx, eax
neg ecx
mov dword [esp + 0x74], edi
and ecx, 0x1f
shr ebx, cl
add ebx, dword [esp + 0x28]
mov dword [esp + 0x10], ebx
jmp 0x4324ff
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
movzx ebx, cl
add eax, ebx
cmp eax, 0x14
jb 0x43251f
lea eax, [esp + 0x70]
push eax
call fcn.00433460
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
cmp byte [esp + 0x24], 0
jbe 0x432542
mov ecx, edi
add edi, ebx
and ecx, 0x1f
mov dword [esp + 0x74], edi
shl edx, cl
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr edx, cl
add esi, edx
mov dword [esp + 0x20], esi
lea eax, [esp + 0x70]
push eax
call fcn.00433460
mov edi, dword [esp + 0x74]
movzx esi, byte [esp + 0x5b]
mov ebx, dword [esp + 0x70]
add edi, esi
mov eax, dword [esp + 0x40]
mov ecx, edi
neg ecx
movzx eax, ax
and ecx, 0x1f
mov edx, ebx
shr edx, cl
and edx, dword [esi*4 + 0x544d18]
add edx, eax
mov dword [esp + 0x84], edx
movzx edx, byte [esp + 0x63]
lea ecx, [edi + edx]
lea eax, [edi + edx]
neg ecx
mov dword [esp + 0x74], eax
and ecx, 0x1f
mov eax, dword [esp + 0x44]
shr ebx, cl
and ebx, dword [edx*4 + 0x544d18]
movzx eax, ax
add ebx, eax
lea eax, [esp + 0x70]
push eax
mov dword [esp + 0x98], ebx
call fcn.00433460
movzx eax, byte [esp + 0x6b]
mov edi, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
add edi, eax
mov ebx, dword [esp + 0x20]
mov ecx, edi
mov esi, dword [esp + 0x10]
neg ecx
and ecx, 0x1f
mov dword [esp + 0x40], edx
shr edx, cl
and edx, dword [eax*4 + 0x544d18]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
movzx eax, ax
add ecx, ebx
add edx, eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], edx
lea eax, [esi + ebx]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x18]
add edx, ebx
mov dword [esp + 0x74], edi
mov ebx, edx
mov dword [esp + 0x24], edx
sub ebx, ebp
mov dword [esp + 0x1c], eax
cmp ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
ja 0x4328e6
add ecx, eax
mov eax, dword [esp + 0x2c]
add eax, 0xffffffe0
cmp ecx, eax
ja 0x4328e6
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
sub ecx, dword [esp + 0x18]
add eax, 0x20
cmp ecx, eax
jb 0x4328e6
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0x20]
cmp ecx, 0x10
jbe 0x432700
mov edx, dword [esp + 0x18]
add ecx, 0xfffffff0
mov esi, dword [esp + 0x14]
add edx, 0x10
lea eax, [edx + ecx]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x10]
mov dword [edx], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 4], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 8], eax
mov eax, dword [esi + 0x1c]
mov dword [edx + 0xc], eax
cmp ecx, 0x10
jle 0x4326f8
mov ecx, dword [esp + 0x48]
add edx, 0x10
add esi, 0x20
mov edi, edi
mov eax, dword [esi]
lea esi, [esi + 0x20]
mov dword [edx], eax
mov eax, dword [esi - 0x1c]
mov dword [edx + 4], eax
mov eax, dword [esi - 0x18]
mov dword [edx + 8], eax
mov eax, dword [esi - 0x14]
mov dword [edx + 0xc], eax
mov eax, dword [esi - 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi - 0xc]
mov dword [edx + 0x14], eax
mov eax, dword [esi - 8]
mov dword [edx + 0x18], eax
mov eax, dword [esi - 4]
mov dword [edx + 0x1c], eax
add edx, 0x20
cmp edx, ecx
jb 0x4326c0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], eax
mov eax, edx
sub eax, ecx
cmp ebp, eax
jbe 0x43277a
mov eax, edx
sub eax, dword [esp + 0x4c]
cmp ebp, eax
ja 0x4321f4
mov eax, dword [esp + 0x30]
sub eax, ecx
mov ecx, dword [esp + 0x30]
add ebx, eax
lea eax, [esi + ebx]
cmp eax, ecx
ja 0x432755
push esi
push ebx
push edx
call fcn.0051f6b0
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
jmp 0x432922
mov esi, ecx
sub esi, ebx
push esi
push ebx
push edx
call fcn.0051f6b0
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x10]
add edx, esi
mov ebx, dword [esp + 0x34]
sub ecx, esi
mov dword [esp + 0x10], ecx
jmp 0x43277e
mov ecx, dword [esp + 0x10]
cmp ebp, 0x10
jb 0x4327f0
mov eax, dword [ebx]
lea esi, [ecx + edx]
mov dword [edx], eax
mov eax, dword [ebx + 4]
mov dword [edx + 4], eax
mov eax, dword [ebx + 8]
mov dword [edx + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [edx + 0xc], eax
cmp ecx, 0x10
jle 0x4327df
lea ecx, [edx + 0x10]
lea edx, [ebx + 0x10]
mov eax, dword [edx]
lea edx, [edx + 0x20]
mov dword [ecx], eax
mov eax, dword [edx - 0x1c]
mov dword [ecx + 4], eax
mov eax, dword [edx - 0x18]
mov dword [ecx + 8], eax
mov eax, dword [edx - 0x14]
mov dword [ecx + 0xc], eax
mov eax, dword [edx - 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edx - 0xc]
mov dword [ecx + 0x14], eax
mov eax, dword [edx - 8]
mov dword [ecx + 0x18], eax
mov eax, dword [edx - 4]
mov dword [ecx + 0x1c], eax
add ecx, 0x20
cmp ecx, esi
jb 0x4327a7
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
jmp 0x432922
cmp ebp, 8
jae 0x432824
movzx eax, byte [ebx]
mov byte [edx], al
movzx eax, byte [ebx + 1]
mov byte [edx + 1], al
movzx eax, byte [ebx + 2]
mov byte [edx + 2], al
movzx eax, byte [ebx + 3]
add ebx, dword [ebp*4 + 0x544db8]
mov byte [edx + 3], al
mov eax, dword [ebx]
sub ebx, dword [ebp*4 + str._b_b_b_a_b_t_n_v]
mov dword [edx + 4], eax
jmp 0x43282e
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x10]
cmp eax, 8
jbe 0x4327df
add edx, 8
lea ecx, [eax - 8]
add ebx, 8
mov eax, edx
sub eax, ebx
lea esi, [edx + ecx]
cmp eax, 0x10
jge 0x432874
sub ebx, edx
mov edi, edi
mov eax, dword [edx + ebx]
mov ecx, dword [edx + ebx + 4]
mov dword [edx], eax
mov dword [edx + 4], ecx
add edx, 8
cmp edx, esi
jb 0x432850
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
jmp 0x432922
mov eax, dword [ebx]
mov dword [edx], eax
mov eax, dword [ebx + 4]
mov dword [edx + 4], eax
mov eax, dword [ebx + 8]
mov dword [edx + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [edx + 0xc], eax
cmp ecx, 0x10
jle 0x4327df
lea eax, [edx + 0x10]
lea edx, [ebx + 0x10]
lea esp, [esp]
mov ecx, dword [edx]
lea edx, [edx + 0x20]
mov dword [eax], ecx
mov ecx, dword [edx - 0x1c]
mov dword [eax + 4], ecx
mov ecx, dword [edx - 0x18]
mov dword [eax + 8], ecx
mov ecx, dword [edx - 0x14]
mov dword [eax + 0xc], ecx
mov ecx, dword [edx - 0x10]
mov dword [eax + 0x10], ecx
mov ecx, dword [edx - 0xc]
mov dword [eax + 0x14], ecx
mov ecx, dword [edx - 8]
mov dword [eax + 0x18], ecx
mov ecx, dword [edx - 4]
mov dword [eax + 0x1c], ecx
add eax, 0x20
cmp eax, esi
jb 0x4328a0
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
jmp 0x432922
push dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x3c]
push dword [esp + 0x50]
mov ebx, dword [esp + 0x20]
push dword [esp + 0x3c]
push dword [esp + 0x48]
push eax
sub esp, 0xc
mov eax, esp
push dword [esp + 0x4c]
mov dword [eax], ecx
mov dword [eax + 4], esi
push ebx
mov dword [eax + 8], ebp
call fcn.00432a50
mov esi, dword [esp + 0x38]
mov dword [esp + 0x14], esi
cmp eax, 0xffffff88
ja 0x432a28
add ebx, eax
sub dword [esp + 0xc4], 1
mov dword [esp + 0x18], ebx
je 0x4329bc
cmp edi, 0x20
ja 0x432980
mov edx, dword [esp + 0x78]
cmp edx, dword [esp + 0x80]
jb 0x432972
mov ebp, dword [esp + 0x28]
mov eax, edi
shr eax, 3
sub edx, eax
and edi, 7
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], edi
mov edx, dword [edx]
mov dword [esp + 0x70], edx
jmp 0x4322d0
mov esi, dword [esp + 0x7c]
cmp edx, esi
jne 0x43298d
lea ebx, [ebx]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
jmp 0x4322d0
mov ecx, edi
mov eax, edx
shr ecx, 3
sub eax, ecx
cmp eax, esi
jae 0x43299e
mov ecx, edx
sub ecx, esi
mov ebp, dword [esp + 0x28]
sub edx, ecx
imul eax, ecx, 0xfffffff8
mov dword [esp + 0x78], edx
mov edx, dword [edx]
mov dword [esp + 0x70], edx
add edi, eax
mov dword [esp + 0x74], edi
jmp 0x4322d0
lea eax, [esp + 0x70]
push eax
call fcn.00433460
cmp eax, 2
jl 0x4321f4
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x3c]
mov dword [ecx + 0x682c], eax
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x6830], eax
mov eax, dword [esp + 0xa4]
mov dword [ecx + 0x6834], eax
sub ebp, esi
sub edx, ebx
cmp ebp, edx
jbe 0x432a11
mov eax, 0xffffffba
jmp 0x432a28
test ebx, ebx
je 0x432a22
push ebp
push esi
push ebx
call fcn.0051f6b0
add esp, 0xc
add ebx, ebp
sub ebx, dword [esp + 0x54]
mov eax, ebx
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0051dca8
add esp, 0x9c
ret 0x20