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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x88
mov ebx, ecx
mov esi, dword [esp + 0x9c]
mov ebp, dword [esp + 0xa4]
jmp 0x43b371
mov edx, edi
mov edi, edx
lea ecx, [esi + edx]
shr ecx, 1
mov eax, esi
mov ecx, dword [ebx + ecx*4]
cmp edx, esi
ja 0x43ba3c
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], ebx
mov dword [esp + 4], edx
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xa0]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x74], ecx
mov edi, dword [ecx + ebx]
test edi, edi
je 0x43bd0a
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x43b3cb
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x43b3c2
cmp eax, 0x2d
jne 0x43b3e7
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x43bca2
mov esi, 1
jmp 0x43b3fe
cmp eax, 0x2b
jne 0x43b3f0
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x43bd0a
xor esi, esi
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x20], edx
xor ebx, ebx
mov dword [esp + 8], esi
xor ebp, ebp
mov dword [esp + 0xc], ebx
mov esi, edx
inc edi
lea esi, [esi + esi*4]
lea esi, [eax + esi*2 - 0x30]
test esi, esi
jle 0x43bcfd
inc ecx
cmp ecx, 8
jg 0x43bcab
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x43b414
mov dword [esp + 0x20], esi
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 8]
test ecx, ecx
jle 0x43b477
mov eax, dword [esp + 0x20]
cdq
mov eax, dword [esp + 0xa4]
mov edi, edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ecx*4]
push ebp
push ebx
call fcn.0043bd20
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x20]
adc ebp, edi
test esi, esi
je 0x43b489
xor edx, edx
mov eax, ebx
xor ebx, ebx
mov ecx, ebp
xor ebp, ebp
sub ebx, eax
sbb ebp, ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0xa0]
mov edx, dword [eax + edx]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], edx
test edx, edx
je 0x43bc99
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x43b4c5
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x43b4bc
cmp eax, 0x2d
jne 0x43b4e1
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x43bc2b
mov esi, 1
jmp 0x43b4f8
cmp eax, 0x2b
jne 0x43b4ea
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x43bc99
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov ebx, edx
mov ecx, edi
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp]
inc ebx
lea esi, [esi + esi*4]
lea esi, [eax + esi*2 - 0x30]
test esi, esi
jle 0x43bc8c
inc ecx
cmp ecx, 8
jg 0x43bc34
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x43b522
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
cmp dword [esp + 0x24], 0
jle 0x43b5a4
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
cdq
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x28], edx
mov eax, dword [eax + ebp*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ebp*4]
push ecx
push edi
mov ebp, dword [esp + 0x28]
call fcn.0043bd20
mov edi, eax
mov ecx, edx
add edi, dword [esp + 0x1c]
adc ecx, dword [esp + 0x28]
test esi, esi
je 0x43b5b6
xor edx, edx
mov eax, edi
xor edi, edi
mov esi, ecx
xor ecx, ecx
sub edi, eax
sbb ecx, esi
sub ebx, edi
sbb ebp, ecx
jl 0x43b7d2
or ebx, ebp
je 0x43b7d2
mov edx, dword [esp + 0x78]
inc edx
mov eax, dword [esp + 0x7c]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x78], edx
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x74], ecx
mov edi, dword [ecx + ebx]
test edi, edi
je 0x43bc22
movsx eax, byte [edi]
cmp eax, 0x20
jne 0x43b5ff
inc edi
movsx eax, byte [edi]
cmp eax, 0x20
je 0x43b5f6
cmp eax, 0x2d
jne 0x43b61b
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x43bbba
mov ebx, 1
jmp 0x43b632
cmp eax, 0x2b
jne 0x43b624
inc edi
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x43bc22
xor ebx, ebx
xor edx, edx
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x64], edx
xor ebp, ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
mov ebx, edx
mov esi, edx
inc edi
lea esi, [esi + esi*4]
lea esi, [eax + esi*2 - 0x30]
test esi, esi
jle 0x43bc15
inc ecx
cmp ecx, 8
jg 0x43bbc3
movsx eax, byte [edi]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x43b64a
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
test ecx, ecx
jle 0x43b6ad
mov eax, dword [esp + 0x64]
cdq
mov eax, dword [esp + 0xa4]
mov edi, edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ecx*4]
push ebp
push esi
call fcn.0043bd20
mov esi, eax
mov ebp, edx
add esi, dword [esp + 0x64]
adc ebp, edi
test ebx, ebx
je 0x43b6bf
xor edx, edx
mov eax, esi
xor esi, esi
mov ecx, ebp
xor ebp, ebp
sub esi, eax
sbb ebp, ecx
mov edx, dword [esp + 0x80]
cmp dword [esp + 0x84], 0
je 0x43bbb1
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x43b6ec
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x43b6e3
cmp eax, 0x2d
jne 0x43b70b
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x43bb45
mov dword [esp + 0x70], 1
jmp 0x43b728
cmp eax, 0x2b
jne 0x43b714
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x43bbb1
mov dword [esp + 0x70], 0
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x68], ecx
xor edi, edi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x60], ebx
mov ebx, edx
mov esi, ecx
mov ebp, edi
inc ebx
lea esi, [esi + esi*4]
lea esi, [eax + esi*2 - 0x30]
test esi, esi
jle 0x43bba4
inc ecx
cmp ecx, 8
jg 0x43bb4e
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x43b744
mov dword [esp + 0x68], esi
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x60]
test ecx, ecx
jle 0x43b7af
mov eax, dword [esp + 0x68]
cdq
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x6c], edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ecx*4]
push edi
push ebx
call fcn.0043bd20
mov ebx, eax
mov edi, edx
add ebx, dword [esp + 0x68]
adc edi, dword [esp + 0x6c]
cmp dword [esp + 0x70], 0
je 0x43b7c4
xor edx, edx
mov eax, ebx
xor ebx, ebx
mov ecx, edi
xor edi, edi
sub ebx, eax
sbb edi, ecx
sub esi, ebx
sbb ebp, edi
jl 0x43b7d2
or esi, ebp
jne 0x43b5c8
cmp dword [esp + 0x50], 0
jbe 0x43b9e5
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0xa0]
mov ecx, dword [eax + edx*4]
mov ebp, dword [ecx + ebx]
test ebp, ebp
je 0x43bb3c
movsx eax, byte [ebp]
cmp eax, 0x20
jne 0x43b80d
inc ebp
movsx eax, byte [ebp]
cmp eax, 0x20
je 0x43b803
cmp eax, 0x2d
jne 0x43b82a
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x43bad5
mov ebx, 1
jmp 0x43b842
cmp eax, 0x2b
jne 0x43b834
inc ebp
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
ja 0x43bb3c
xor ebx, ebx
xor edx, edx
xor ecx, ecx
xor esi, esi
xor edi, edi
mov dword [esp + 0x40], edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov ebx, edx
mov edi, edx
inc ebp
lea edi, [edi + edi*4]
lea edi, [eax + edi*2 - 0x30]
test edi, edi
jle 0x43bb2f
inc ecx
cmp ecx, 8
jg 0x43bade
movsx eax, byte [ebp]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x43b85a
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
test ecx, ecx
jle 0x43b8be
mov eax, dword [esp + 0x40]
cdq
mov eax, dword [esp + 0xa4]
mov ebp, edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ecx*4]
push edi
push esi
call fcn.0043bd20
mov esi, eax
mov edi, edx
add esi, dword [esp + 0x40]
adc edi, ebp
test ebx, ebx
je 0x43b8d0
xor edx, edx
mov eax, esi
xor esi, esi
mov ecx, edi
xor edi, edi
sub esi, eax
sbb edi, ecx
mov edx, dword [esp + 0x80]
cmp dword [esp + 0x84], 0
je 0x43bacc
mov eax, dword [esp + 0x84]
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x43b8fd
inc edx
movsx eax, byte [edx]
cmp eax, 0x20
je 0x43b8f4
cmp eax, 0x2d
jne 0x43b91c
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x43ba60
mov dword [esp + 0x4c], 1
jmp 0x43b939
cmp eax, 0x2b
jne 0x43b925
inc edx
movsx eax, byte [edx]
lea ecx, [eax - 0x30]
cmp ecx, 9
ja 0x43bacc
mov dword [esp + 0x4c], 0
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x44], ecx
xor ebp, ebp
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], edi
mov dword [esp + 0x3c], ebx
mov ebx, edx
mov edi, ecx
mov esi, ebp
inc ebx
lea edi, [edi + edi*4]
lea edi, [eax + edi*2 - 0x30]
test edi, edi
jle 0x43babf
inc ecx
cmp ecx, 8
jg 0x43ba69
movsx eax, byte [ebx]
lea edx, [eax - 0x30]
cmp edx, 9
jbe 0x43b955
mov dword [esp + 0x44], edi
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
test ecx, ecx
jle 0x43b9c0
mov eax, dword [esp + 0x44]
cdq
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x48], edx
mov eax, dword [eax + ecx*4]
cdq
push edx
mov eax, dword [esp + 0xa8]
push dword [eax + ecx*4]
push ebp
push ebx
call fcn.0043bd20
mov ebx, eax
mov ebp, edx
add ebx, dword [esp + 0x44]
adc ebp, dword [esp + 0x48]
cmp dword [esp + 0x4c], 0
je 0x43b9d5
xor edx, edx
mov eax, ebx
xor ebx, ebx
mov ecx, ebp
xor ebp, ebp
sub ebx, eax
sbb ebp, ecx
sub esi, ebx
sbb edi, ebp
jge 0x43b9e5
dec dword [esp + 0x50]
jne 0x43b7dd
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x50]
ja 0x43ba16
mov esi, eax
mov ebp, dword [esp + 0x50]
xor eax, eax
mov ebx, dword [esp + 0x7c]
cmp eax, ebp
mov ecx, dword [esp + 0x74]
mov edx, dword [ebx + ebp*4]
mov dword [ebx + esi*4], edx
mov dword [ebx + ebp*4], ecx
sbb ebp, 0
inc esi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x50]
jbe 0x43b399
mov edi, eax
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 4]
mov esi, dword [esp + 0x9c]
mov ebp, dword [esp + 0xa4]
lea eax, [edi - 1]
cmp edx, eax
jae 0x43ba53
push ebp
push dword [esp + 0xa4]
mov ecx, ebx
push eax
call fcn.0043b353
cmp edi, esi
jb 0x43b36f
jmp 0x43bd13
xor ebx, ebx
xor ebp, ebp
jmp 0x43b9c7
push ebp
push dword [esp + 0x40]
push 0
push 0x3b9aca00
call fcn.0043bd20
test esi, esi
mov ecx, edx
jne 0x43ba84
mov eax, dword [esp + 0x3c]
jne 0x43ba88
mov ecx, ebp
add eax, edi
mov dword [esp + 0x3c], eax
mov eax, edi
cdq
movsx eax, byte [ebx]
mov ebp, edx
adc ebp, ecx
lea esi, [eax - 0x30]
cmp esi, 9
ja 0x43baae
xor edi, edi
mov esi, 1
xor ecx, ecx
jmp 0x43b955
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x34]
jmp 0x43b9c0
test esi, esi
je 0x43b96f
jmp 0x43b965
xor ebx, ebx
xor ebp, ebp
jmp 0x43b9d5
xor esi, esi
xor edi, edi
jmp 0x43b8c2
push dword [esp + 0x34]
push esi
push 0
push 0x3b9aca00
call fcn.0043bd20
test ebx, ebx
mov ecx, edx
jne 0x43baf7
mov eax, esi
mov esi, eax
mov eax, edi
jne 0x43bb01
mov ecx, dword [esp + 0x34]
cdq
movsx eax, byte [ebp]
add esi, edi
adc edx, ecx
mov dword [esp + 0x34], edx
lea ebx, [eax - 0x30]
cmp ebx, 9
ja 0x43bb24
xor edi, edi
mov ebx, 1
xor ecx, ecx
jmp 0x43b85a
mov edi, edx
mov ebx, dword [esp + 0x30]
jmp 0x43b8be
test ebx, ebx
je 0x43b874
jmp 0x43b86a
xor esi, esi
xor edi, edi
jmp 0x43b8d0
xor ebx, ebx
xor edi, edi
jmp 0x43b7b6
push edi
push dword [esp + 0x64]
push 0
push 0x3b9aca00
call fcn.0043bd20
test ebp, ebp
mov ecx, edx
jne 0x43bb69
mov eax, dword [esp + 0x60]
jne 0x43bb6d
mov ecx, edi
add eax, esi
mov dword [esp + 0x60], eax
mov eax, esi
cdq
movsx eax, byte [ebx]
mov edi, edx
adc edi, ecx
lea ebp, [eax - 0x30]
cmp ebp, 9
ja 0x43bb93
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x43b744
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x60]
jmp 0x43b7af
test ebp, ebp
je 0x43b75e
jmp 0x43b754
xor ebx, ebx
xor edi, edi
jmp 0x43b7c4
xor esi, esi
xor ebp, ebp
jmp 0x43b6b1
push ebp
push dword [esp + 0x5c]
push 0
push 0x3b9aca00
call fcn.0043bd20
test ebx, ebx
mov ecx, edx
jne 0x43bbde
mov eax, dword [esp + 0x58]
jne 0x43bbe2
mov ecx, ebp
add eax, esi
mov dword [esp + 0x58], eax
mov eax, esi
cdq
movsx eax, byte [edi]
mov ebp, edx
adc ebp, ecx
lea ebx, [eax - 0x30]
cmp ebx, 9
ja 0x43bc08
xor esi, esi
mov ebx, 1
xor ecx, ecx
jmp 0x43b64a
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
jmp 0x43b6ad
test ebx, ebx
je 0x43b664
jmp 0x43b65a
xor esi, esi
xor ebp, ebp
jmp 0x43b6bf
xor edi, edi
xor ecx, ecx
jmp 0x43b5a8
push dword [esp + 0x14]
push edi
push 0
push 0x3b9aca00
call fcn.0043bd20
test ebp, ebp
mov ecx, edx
jne 0x43bc4d
mov eax, edi
mov edi, eax
mov eax, esi
jne 0x43bc57
mov ecx, dword [esp + 0x14]
cdq
movsx eax, byte [ebx]
add edi, esi
adc edx, ecx
mov dword [esp + 0x14], edx
lea ebp, [eax - 0x30]
cmp ebp, 9
ja 0x43bc79
xor esi, esi
mov ebp, 1
xor ecx, ecx
jmp 0x43b522
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0xc]
mov ecx, edx
mov esi, dword [esp + 0x10]
jmp 0x43b5a4
test ebp, ebp
je 0x43b53c
jmp 0x43b532
xor edi, edi
xor ecx, ecx
jmp 0x43b5b6
xor ebx, ebx
xor ebp, ebp
jmp 0x43b47b
push ebp
push dword [esp + 0x10]
push 0
push 0x3b9aca00
call fcn.0043bd20
test ebx, ebx
mov ecx, edx
jne 0x43bcc6
mov eax, dword [esp + 0xc]
jne 0x43bcca
mov ecx, ebp
add eax, esi
mov dword [esp + 0xc], eax
mov eax, esi
cdq
movsx eax, byte [edi]
mov ebp, edx
adc ebp, ecx
lea ebx, [eax - 0x30]
cmp ebx, 9
ja 0x43bcf0
xor esi, esi
mov ebx, 1
xor ecx, ecx
jmp 0x43b414
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 8]
jmp 0x43b477
test ebx, ebx
je 0x43b42e
jmp 0x43b424
xor ebx, ebx
xor ebp, ebp
jmp 0x43b489
add esp, 0x88
pop ebp
pop ebx
pop edi
pop esi
ret 0xc