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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x11c
mov dword [esp + 0x78], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x54], ecx
test ecx, ecx
je 0x43b789
cmp dword [esp + 0x54], 0xff
ja 0x43b76c
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x78]
xor esi, esi
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [ebx]
mov dword [esp + 0x1c], edx
mov edx, dword [ebx + 4]
mov ebx, eax
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], edx
xor edx, edx
mov edi, dword [esp + 0x24]
mov dword [esp + 0x40], eax
mov esi, dword [esp + 0x40]
mov eax, ebx
mov dword [esp + 0x44], edx
mul esi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x20]
mov ecx, edi
mov dword [esp + 0x90], ebp
mov dword [esp + 0x70], eax
mov eax, esi
imul ecx, ebx
mov dword [esp + 0x74], edx
mul ebx
mov ebx, dword [esp + 0x74]
mov edi, edx
xor edx, edx
add edi, ecx
mov ecx, ebx
xor ebx, ebx
add ecx, eax
mov eax, ebp
adc ebx, edx
mov edx, dword [esp + 0x1c]
imul eax, edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
mul ebp
mov ebp, dword [esp + 0x30]
add edx, ebp
add ecx, eax
mov eax, dword [esp + 0x90]
adc ebx, edx
mul dword [esp + 0x20]
xor esi, esi
mov dword [esp + 0xa0], ecx
mov ecx, edi
mov dword [esp + 0xa4], ebx
mov ebx, esi
add ecx, eax
adc ebx, edx
mov edx, dword [esp + 0xa4]
mov edi, dword [esp + 0x20]
mov eax, edx
xor edx, edx
mov esi, edi
add ecx, eax
mov eax, dword [esp + 0x28]
adc ebx, edx
xor edx, edx
mov dword [esp + 0x108], ecx
mov dword [esp + 0x3c], edx
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10c], ebx
mov ebx, dword [eax + 0xc]
mov dword [esp + 0x38], ecx
imul ecx, edx
mov eax, dword [esp + 0x38]
mul dword [esp + 0x18]
mov ebp, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0xb0], ebp
mov dword [esp + 0x68], eax
mov eax, ebx
mov dword [esp + 0x6c], edx
mul edi
add dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
imul ecx, edi
mov dword [esp + 0x34], edx
mov edi, dword [esp + 0x1c]
xor edx, edx
add dword [esp + 0x34], ecx
mov ecx, ebx
xor ebx, ebx
add ecx, eax
mov eax, ebp
adc ebx, edx
mov edx, ebp
imul edx, edi
mov edi, edx
mul dword [esp + 0x18]
add edx, edi
add ecx, eax
mov eax, ebp
adc ebx, edx
mul esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ebx
mov ebx, esi
xor esi, esi
mov ecx, ebx
mov ebx, esi
add ecx, eax
adc ebx, edx
mov edx, dword [esp + 0x84]
mov eax, edx
xor edx, edx
add ecx, eax
adc ebx, edx
mov dword [esp + 0x48], ecx
xor edx, edx
mov dword [esp + 0x4c], ebx
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x34], edx
mov ecx, dword [edi + 0x10]
mov ebx, dword [edi + 0x14]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x30]
mov ebp, ebx
mov ebx, dword [esp + 0x20]
imul ecx, edi
mov dword [esp + 0xa8], ebp
mul esi
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x30]
imul edx, ebx
add dword [esp + 0x5c], ecx
mov ecx, edx
mul ebx
xor ebx, ebx
mov dword [esp + 0x64], edx
add dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x60], eax
mov edx, ecx
xor ecx, ecx
mov eax, edx
mov edx, ecx
mov ecx, dword [esp + 0x60]
add ecx, eax
mov eax, ebp
adc ebx, edx
mov edx, ebp
imul edx, edi
mov esi, edx
mul dword [esp + 0x18]
add edx, esi
mov esi, ebx
mov ebx, ecx
add ebx, eax
adc esi, edx
mov edx, dword [esp + 0x58]
xor ecx, ecx
mov eax, edx
mov edx, ecx
mov ecx, ebx
mov ebx, ecx
xor ecx, ecx
or eax, ecx
or edx, ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0xf8], eax
mov eax, ebp
mov dword [esp + 0xfc], edx
mul dword [esp + 0x20]
mov ecx, ebx
xor ebx, ebx
add ecx, eax
adc ebx, edx
mov edx, ecx
xor edi, edi
mov ecx, ebx
add edx, esi
adc ecx, edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], ecx
mov ecx, dword [edi + 0x18]
mov ebx, dword [edi + 0x1c]
xor edi, edi
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
mov ebp, ebx
imul ecx, edx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x20]
mov edi, ebp
mul dword [esp + 0x18]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x58], eax
mov eax, esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x5c], edx
mul ebx
add dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x64], edx
imul ecx, ebx
add dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
mov edx, ecx
xor ecx, ecx
mov ebx, ecx
mov ecx, edx
xor edx, edx
add ecx, eax
mov eax, dword [esp + 0x18]
adc ebx, edx
imul edi, esi
mul ebp
mov esi, ebx
mov ebx, ecx
add edx, edi
add ebx, eax
mov edi, dword [esp + 0x78]
adc esi, edx
mov edx, dword [esp + 0x58]
xor ecx, ecx
mov eax, edx
mov edx, ecx
mov ecx, ebx
mov ebx, ecx
xor ecx, ecx
or eax, ecx
or edx, ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xf4], edx
mov ecx, ebx
xor ebx, ebx
mul ebp
add ecx, eax
adc ebx, edx
mov edx, ecx
xor ebp, ebp
mov ecx, ebx
add edx, esi
mov ebx, dword [edi + 0xc]
adc ecx, ebp
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov ecx, dword [edi + 8]
xor edi, edi
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x20], ebx
mov esi, ecx
mov dword [esp + 0x1c], edi
imul ecx, edx
mov eax, esi
mov dword [esp + 0x18], esi
mul dword [esp + 0x40]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x5c], edx
mul ebx
add dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x44]
imul ecx, ebx
mov dword [esp + 0x60], eax
mov eax, ebp
mov dword [esp + 0x64], edx
mul ebx
mov ebx, dword [esp + 0x5c]
add dword [esp + 0x64], ecx
mov ecx, ebx
xor ebx, ebx
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xec], edx
xor edx, edx
add ecx, eax
mov eax, ebp
adc ebx, edx
mov edx, ebp
mov ebp, dword [esp + 0x1c]
imul edx, edi
mov edi, dword [esp + 0x18]
mov esi, edx
mul edi
add edx, esi
add ecx, eax
mov eax, dword [esp + 0x38]
mov esi, edi
adc ebx, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov edi, ebp
mov dword [esp + 0x7c], ebx
mov ebx, eax
mov eax, esi
imul ebx, ebp
imul edx, esi
mov ecx, ebx
add ecx, edx
mul dword [esp + 0x38]
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
add dword [esp + 0x44], ecx
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x20]
imul ebx, ebp
mul ebp
mov ecx, ebx
mov ebx, ebp
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0x38], eax
mov eax, ebp
mov dword [esp + 0x3c], edx
mul ebx
add dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xcc], edx
mov edx, ecx
xor ecx, ecx
mov ebx, ecx
mov ecx, edx
xor edx, edx
add ecx, eax
mov eax, ebp
adc ebx, edx
mov edx, ebp
mov ebp, dword [esp + 0x20]
imul edx, edi
mov esi, edx
mul dword [esp + 0x18]
add edx, esi
mov esi, ebx
mov ebx, ecx
add ebx, eax
adc esi, edx
mov edx, dword [esp + 0x40]
xor ecx, ecx
mov edi, esi
xor esi, esi
mov eax, edx
mov edx, ecx
xor ecx, ecx
mov dword [esp + 0xd8], edi
or eax, ecx
mov ecx, dword [esp + 0x3c]
or edx, ebx
mov edi, dword [esp + 0x1c]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xd4], edx
mov edx, ecx
xor ecx, ecx
mov dword [esp + 0xdc], esi
mov ebx, eax
mov esi, dword [esp + 0x18]
mov dword [esp + 0xe0], edx
mov edx, dword [esp + 0x34]
imul ebx, edi
mov dword [esp + 0xe4], ecx
mov eax, esi
imul edx, esi
mov ecx, ebx
mov ebx, dword [esp + 0x34]
add ecx, edx
mul dword [esp + 0x30]
imul ebx, ebp
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
mul ebp
add dword [esp + 0x3c], ecx
mov ecx, ebx
mov ebx, ebp
mov dword [esp + 0x30], eax
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0x34], edx
mov eax, ebp
add dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x3c]
mul ebx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xac], edx
mov edx, ecx
xor ecx, ecx
mov ebx, ecx
mov ecx, edx
xor edx, edx
add ecx, eax
mov eax, ebp
adc ebx, edx
mov edx, ebp
imul edx, edi
mov esi, edx
mul dword [esp + 0x18]
add edx, esi
mov esi, ebx
mov ebx, ecx
add ebx, eax
adc esi, edx
mov edx, dword [esp + 0x38]
xor ecx, ecx
mov edi, esi
xor esi, esi
mov eax, edx
mov edx, ecx
xor ecx, ecx
mov dword [esp + 0xb8], edi
or eax, ecx
mov ecx, dword [esp + 0x34]
or edx, ebx
mov edi, dword [esp + 0x1c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xb4], edx
mov edx, ecx
xor ecx, ecx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xbc], esi
mov ebp, eax
mov esi, dword [esp + 0x18]
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0x2c]
imul ebp, edi
mov dword [esp + 0xc4], ecx
mov eax, esi
imul edx, esi
mov ecx, ebp
mov ebp, dword [esp + 0x2c]
add ecx, edx
mul dword [esp + 0x28]
imul ebp, ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], edx
mul ebx
add dword [esp + 0x1c], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
add dword [esp + 0x2c], ebp
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x88]
mov edx, ecx
xor ecx, ecx
mov ebx, ecx
mov ecx, edx
xor edx, edx
add ecx, eax
mov eax, esi
adc ebx, edx
imul ebp, edi
mov edi, ebx
mov esi, ebp
mov ebp, dword [esp + 0x88]
mul ebp
add edx, esi
mov esi, ecx
add esi, eax
adc edi, edx
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov eax, edx
mov edx, ecx
mov ecx, esi
mov esi, edi
mov ebx, ecx
xor ecx, ecx
or eax, ecx
or edx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x90], eax
mov eax, ebp
mov dword [esp + 0x94], edx
mul dword [esp + 0x20]
mov ecx, ebx
xor ebx, ebx
add ecx, eax
adc ebx, edx
mov edx, ecx
xor edi, edi
mov ecx, ebx
add edx, esi
mov ebx, dword [esp + 0x58]
adc ecx, edi
xor esi, esi
mov dword [esp + 0x88], edx
xor edx, edx
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x78]
mov eax, ebx
mov ebx, ecx
xor ecx, ecx
or ebx, esi
mov esi, dword [esp + 0x80]
or ecx, eax
mov eax, dword [esp + 0x68]
mov edi, esi
xor esi, esi
or eax, esi
or edx, edi
xor esi, esi
xor edi, edi
add ecx, eax
adc ebx, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ebx
jb 0x43b6f9
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
mov ecx, ebx
mov eax, edx
xor edx, edx
add eax, dword [esp + 0xe8]
adc edx, dword [esp + 0xec]
xor ebx, ebx
add eax, ecx
mov ecx, dword [esp + 0x48]
adc edx, ebx
mov ebx, dword [esp + 0x4c]
add eax, ecx
adc edx, ebx
add eax, esi
adc edx, edi
cmp eax, ecx
mov dword [esp + 0x38], eax
mov ebp, edx
sbb ebp, dword [esp + 0x4c]
mov dword [esp + 0x3c], edx
jae 0x43b2f8
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x20], 0
add eax, dword [esp + 0xf8]
adc edx, dword [esp + 0xfc]
mov dword [esp + 0x24], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
jb 0x43b741
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
mov byte [esp + 0x30], 1
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xcc]
add ecx, dword [esp + 0xe0]
adc ebx, dword [esp + 0xe4]
mov ebp, edx
add ecx, dword [esp + 0xd8]
adc ebx, dword [esp + 0xdc]
add ecx, eax
adc ebx, edx
mov esi, ecx
add esi, dword [esp + 0x20]
mov edi, ebx
adc edi, dword [esp + 0x24]
cmp esi, eax
mov dword [esp + 0x18], esi
mov ebx, edi
mov dword [esp + 0x1c], edi
sbb ebx, edx
jae 0x43b2d0
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x20], 0
add eax, dword [esp + 0xf0]
adc edx, dword [esp + 0xf4]
mov dword [esp + 0x24], 0
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
jb 0x43b72e
mov edi, dword [esp + 0x98]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x48], 1
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov dword [esp + 0x4c], 0
add eax, dword [esp + 0xc0]
adc edx, dword [esp + 0xc4]
add eax, dword [esp + 0xb8]
adc edx, dword [esp + 0xbc]
add eax, edi
adc edx, ebp
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
mov ebx, edx
cmp eax, edi
mov dword [esp + 0x60], eax
sbb ebx, ebp
mov dword [esp + 0x64], edx
jae 0x43b2a0
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
xor eax, eax
xor edx, edx
add edi, dword [esp + 0x108]
adc ebp, dword [esp + 0x10c]
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], ebp
jb 0x43b724
or eax, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x28], 0
setne al
mov dword [esp + 0x2c], 0
mov ebp, eax
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x38]
adc edx, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
jb 0x43b711
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x68]
mov byte [esp + 0x38], 1
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x1c]
add eax, ebx
adc edx, esi
add eax, dword [esp + 0x28]
adc edx, dword [esp + 0x2c]
mov edi, edx
cmp eax, ebx
sbb edi, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jae 0x43b320
mov eax, ebp
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
add esi, dword [esp + 0x20]
movzx eax, al
adc edi, dword [esp + 0x24]
xor edx, edx
xor ecx, ecx
xor ebx, ebx
add eax, dword [esp + 0x58]
adc edx, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
jb 0x43b705
mov eax, ecx
mov edx, ebx
mov ebp, 1
add eax, esi
adc edx, edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x40], eax
mov ecx, edx
mov dword [esp + 0x44], edx
cmp eax, edi
sbb ecx, dword [esp + 0x24]
jae 0x43b268
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
xor esi, esi
xor edi, edi
add eax, dword [esp + 0x90]
adc edx, dword [esp + 0x94]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jb 0x43b760
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
add eax, dword [esp + 0x48]
adc edx, dword [esp + 0x4c]
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x30]
mov dword [esp + 0x1c], edx
xor edx, edx
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jb 0x43b6ed
add esi, dword [esp + 0x18]
adc edi, dword [esp + 0x1c]
add esi, ecx
movzx eax, byte [esp + 0x38]
adc edi, ebx
xor edx, edx
xor ecx, ecx
xor ebx, ebx
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
jb 0x43b6e1
add esi, ecx
mov eax, ebp
adc edi, ebx
movzx eax, al
xor edx, edx
xor ecx, ecx
xor ebx, ebx
add eax, dword [esp + 0x18]
adc edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jb 0x43b754
add ecx, esi
mov eax, dword [esp + 0x130]
adc ebx, edi
mov edi, dword [esp + 0x54]
xor edx, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
cmp edi, 0x7f
ja 0x43b110
mov eax, pe_nt_image_headers32
sub eax, edi
mov dword [esp + 0x58], eax
cmp eax, 0x3f
jbe 0x43b340
mov eax, 0x40
mov edx, dword [esp + 0x2c]
xor esi, esi
sub eax, edi
mov ebx, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x28]
mov ecx, ebx
shld edx, eax, cl
shl eax, cl
and ecx, 0x20
cmovne edx, eax
cmovne eax, esi
cmp edi, 0x40
je 0x43b668
mov esi, dword [esp + 0x54]
mov ebp, dword [esp + 0x7c]
xor ebx, ebx
mov edi, dword [esp + 0x78]
mov ecx, esi
shrd edi, ebp, cl
shr ebp, cl
test cl, 0x20
cmovne edi, ebp
cmovne ebp, ebx
mov ecx, edi
mov ebx, ebp
xor ebp, ebp
mov edi, dword [esp + 0x78]
or ecx, eax
or ebx, edx
mov eax, dword [esp + 0x70]
xor edx, edx
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x3c], ebx
mov ebx, ecx
xor ecx, ecx
or edx, ebx
or eax, ecx
mov ecx, esi
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
movzx ecx, byte [esp + 0x30]
cmovne eax, edx
cmovne edx, ebp
mov ebp, dword [esp + 0x7c]
xor ebx, ebx
shld ebp, edi, cl
shl edi, cl
test cl, 0x20
cmovne ebp, edi
cmovne edi, ebx
mov ebx, ebp
mov ecx, edi
or ecx, eax
or ebx, edx
xor eax, eax
xor edx, edx
add ecx, dword [esp + 0x18]
adc ebx, dword [esp + 0x1c]
jb 0x43b7e2
add eax, dword [esp + 0x38]
mov edi, ebx
adc edx, dword [esp + 0x3c]
mov dword [esp + 0x48], ecx
cmp ecx, dword [esp + 0x130]
sbb edi, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
mov ebp, ebx
setb cl
or eax, edx
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x28]
sete bl
mov edx, dword [esp + 0x2c]
xor esi, esi
mov edi, dword [esp + 0x44]
and ebx, ecx
movzx ecx, byte [esp + 0x54]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
movzx ecx, byte [esp + 0x30]
cmovne eax, edx
cmovne edx, esi
mov esi, dword [esp + 0x40]
shld edi, esi, cl
shl esi, cl
test cl, 0x20
je 0x43b06a
mov edi, esi
xor esi, esi
movzx ecx, byte [esp + 0x54]
or esi, eax
or edi, edx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
je 0x43b089
mov eax, edx
xor edx, edx
movzx ecx, byte [esp + 0x30]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x43b0ac
mov edx, eax
xor eax, eax
or eax, dword [esp + 0x18]
or edx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
movzx eax, bl
xor edx, edx
xor ecx, ecx
xor ebx, ebx
add eax, esi
adc edx, edi
jb 0x43b7a6
add ecx, dword [esp + 0x18]
adc ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x134]
mov esi, dword [esp + 0x48]
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0x3c]
mov dword [edi], esi
mov esi, edi
mov edi, dword [esp + 0x38]
mov dword [esi + 0xc], ebp
mov dword [esi + 8], edi
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], ebx
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [esp + 0x54], 0x80
je 0x43b5f8
mov edi, dword [esp + 0x54]
mov eax, 0x100
sub eax, edi
cmp eax, 0x3f
ja 0x43b498
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x54]
mov ecx, eax
xor esi, esi
mov ebp, dword [esp + 0x34]
sub edx, 0xc0
shld ebp, edi, cl
shl edi, cl
test al, 0x20
mov ecx, edx
cmovne ebp, edi
cmovne edi, esi
mov dword [esp + 0x28], edx
xor edx, edx
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esp + 0x24]
mov ebx, edi
mov esi, ebp
shrd ebx, ebp, cl
shr esi, cl
test cl, 0x20
cmovne ebx, esi
cmovne esi, edx
mov ecx, ebx
or ecx, dword [esp + 0x38]
mov ebx, esi
or ebx, dword [esp + 0x3c]
mov dword [esp + 0x38], ecx
mov ecx, eax
shld ebp, edi, cl
mov dword [esp + 0x3c], ebx
shl edi, cl
xor ebx, ebx
and ecx, 0x20
cmovne ebp, edi
cmovne edi, ebx
movzx ecx, byte [esp + 0x28]
mov edx, dword [esp + 0x44]
xor ebx, ebx
mov eax, dword [esp + 0x40]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
cmovne eax, edx
cmovne edx, ebx
mov ecx, eax
mov ebx, edx
xor eax, eax
xor edx, edx
or ecx, edi
or ebx, ebp
add ecx, dword [esp + 0x18]
adc ebx, dword [esp + 0x1c]
jb 0x43b7be
add eax, dword [esp + 0x38]
mov ebp, ebx
adc edx, dword [esp + 0x3c]
mov dword [esp + 0x48], ecx
mov ebx, eax
mov esi, edx
cmp ecx, dword [esp + 0x130]
mov dword [esp + 0x38], eax
mov eax, ebp
sbb eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x28]
mov dword [esp + 0x3c], edx
mov edx, ebx
setb al
mov edi, dword [esp + 0x34]
mov dword [esp + 0x20], 0
or edx, esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x24], 0
sete dl
and eax, edx
shrd esi, edi, cl
mov byte [esp + 0x18], al
shr edi, cl
xor eax, eax
test cl, 0x20
cmovne esi, edi
cmovne edi, eax
movzx eax, byte [esp + 0x18]
xor edx, edx
xor ecx, ecx
xor ebx, ebx
add eax, esi
adc edx, edi
jb 0x43b7b2
add ecx, dword [esp + 0x20]
adc ebx, dword [esp + 0x24]
jmp 0x43b0d7
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
xor edx, ebp
xor eax, edi
mov ebp, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
or eax, edx
sete al
cmp edi, ebx
mov edi, ebp
sbb edi, esi
setb dl
and eax, edx
mov ebp, eax
jmp 0x43ae52
mov ebx, dword [esp + 0x9c]
xor eax, edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x4c], 0
xor edx, ebx
or eax, edx
sete al
movzx eax, al
and eax, edi
mov dword [esp + 0x48], eax
jmp 0x43ad66
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
xor edx, eax
xor ecx, ebp
movzx eax, byte [esp + 0x20]
or edx, ecx
sete dl
and eax, edx
mov byte [esp + 0x30], al
jmp 0x43acc4
mov ebx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x44], 0
xor eax, ebx
xor edx, ecx
or eax, edx
sete al
movzx eax, al
and eax, esi
mov dword [esp + 0x40], eax
jmp 0x43ac27
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
xor eax, esi
xor edx, ebx
or eax, edx
sete al
and al, byte [esp + 0x28]
mov byte [esp + 0x38], al
jmp 0x43adfa
movzx ecx, byte [esp + 0x58]
mov ebx, dword [esp + 0x54]
xor edi, edi
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
sub ebx, 0x40
mov ebp, dword [esp + 0x2c]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, ebx
cmovne edx, eax
cmovne eax, edi
mov edi, dword [esp + 0x28]
mov esi, ebx
mov dword [esp + 0x54], ebx
xor ebx, ebx
shrd edi, ebp, cl
shr ebp, cl
test cl, 0x20
movzx ecx, byte [esp + 0x58]
cmovne edi, ebp
cmovne ebp, ebx
or eax, edi
or edx, ebp
xor edi, edi
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x2c]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
mov ecx, esi
cmovne edx, eax
cmovne eax, edi
mov edi, dword [esp + 0x78]
xor ebx, ebx
shrd edi, ebp, cl
shr ebp, cl
test cl, 0x20
cmovne edi, ebp
cmovne ebp, ebx
mov ecx, edi
mov ebx, ebp
or ecx, eax
or ebx, edx
xor eax, eax
xor edx, edx
add ecx, dword [esp + 0x18]
adc ebx, dword [esp + 0x1c]
jb 0x43b7ca
add eax, dword [esp + 0x38]
adc edx, dword [esp + 0x3c]
mov ebp, ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x38], eax
or eax, edx
mov eax, ebx
mov edi, dword [esp + 0x24]
mov dword [esp + 0x3c], edx
sete dl
cmp ecx, dword [esp + 0x130]
sbb eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x58]
setb bl
mov eax, dword [esp + 0x30]
xor esi, esi
and ebx, edx
mov edx, dword [esp + 0x34]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
movzx ecx, byte [esp + 0x54]
cmovne edx, eax
cmovne eax, esi
mov esi, dword [esp + 0x20]
shrd esi, edi, cl
shr edi, cl
test cl, 0x20
je 0x43b446
mov esi, edi
xor edi, edi
or eax, esi
or edx, edi
movzx ecx, byte [esp + 0x58]
xor esi, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x24]
shld edx, eax, cl
shl eax, cl
and ecx, 0x20
cmovne edx, eax
cmovne eax, esi
mov edi, dword [esp + 0x44]
movzx ecx, byte [esp + 0x54]
mov esi, dword [esp + 0x40]
shrd esi, edi, cl
shr edi, cl
test cl, 0x20
je 0x43b48a
mov esi, edi
xor edi, edi
or esi, eax
or edi, edx
jmp 0x43b0bc
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ecx, 0xc0
xor esi, esi
sub ecx, edi
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, esi
mov dword [esp + 0x38], eax
mov eax, edi
lea edi, [edi - 0x80]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x54], edi
cmp eax, 0xc0
je 0x43b6d0
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x40]
mov eax, 0x40
mov ebp, dword [esp + 0x44]
sub eax, esi
mov ecx, esi
xor esi, esi
mov ebx, eax
mov edx, ebp
mov dword [esp + 0x58], eax
mov eax, edi
shrd eax, ebp, cl
shr edx, cl
test cl, 0x20
cmovne eax, edx
cmovne edx, esi
or eax, dword [esp + 0x38]
or edx, dword [esp + 0x3c]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
xor esi, esi
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x2c]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
mov ecx, ebx
cmovne eax, edx
cmovne edx, esi
shld ebp, edi, cl
xor ebx, ebx
shl edi, cl
test cl, 0x20
cmovne ebp, edi
cmovne edi, ebx
mov ebx, ebp
mov ecx, edi
or ecx, eax
or ebx, edx
xor eax, eax
xor edx, edx
add ecx, dword [esp + 0x18]
adc ebx, dword [esp + 0x1c]
jb 0x43b7d6
add eax, dword [esp + 0x38]
mov ebp, ebx
adc edx, dword [esp + 0x3c]
mov dword [esp + 0x48], ecx
mov ebx, eax
mov esi, edx
cmp ecx, dword [esp + 0x130]
mov dword [esp + 0x38], eax
mov eax, ebp
sbb eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x54]
mov dword [esp + 0x3c], edx
mov edx, ebx
setb al
mov edi, dword [esp + 0x24]
or edx, esi
mov esi, dword [esp + 0x20]
sete dl
and eax, edx
shrd esi, edi, cl
mov edx, dword [esp + 0x34]
shr edi, cl
mov byte [esp + 0x18], al
xor eax, eax
test cl, 0x20
cmovne esi, edi
movzx ecx, byte [esp + 0x58]
cmovne edi, eax
mov eax, dword [esp + 0x30]
xor ebx, ebx
shld edx, eax, cl
shl eax, cl
test cl, 0x20
movzx ecx, byte [esp + 0x54]
cmovne edx, eax
cmovne eax, ebx
xor ebx, ebx
or esi, eax
or edi, edx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
shrd eax, edx, cl
shr edx, cl
and ecx, 0x20
cmovne eax, edx
cmovne edx, ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp 0x43b240
mov ecx, dword [esp + 0x28]
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0x2c]
add ecx, dword [esp + 0x18]
adc ebx, dword [esp + 0x1c]
jb 0x43b7fa
add eax, dword [esp + 0x40]
adc edx, dword [esp + 0x44]
mov dword [esp + 0x48], ecx
mov ebp, ebx
mov dword [esp + 0x38], eax
or eax, edx
mov eax, ebx
mov dword [esp + 0x3c], edx
sete dl
cmp ecx, dword [esp + 0x130]
sbb eax, dword [esp + 0x1c]
setb al
xor ecx, ecx
xor ebx, ebx
movzx eax, al
and eax, edx
xor edx, edx
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
jb 0x43b7ee
add ecx, dword [esp + 0x30]
adc ebx, dword [esp + 0x34]
jmp 0x43b0d7
mov edi, dword [esp + 0x78]
xor ecx, ecx
xor ebx, ebx
mov ebp, dword [esp + 0x7c]
add edi, dword [esp + 0x18]
adc ebp, dword [esp + 0x1c]
jb 0x43b806
add ecx, eax
mov dword [esp + 0x48], edi
adc ebx, edx
mov eax, ecx
mov dword [esp + 0x38], ecx
or eax, ebx
mov eax, ebp
mov dword [esp + 0x3c], ebx
sete dl
cmp edi, dword [esp + 0x130]
sbb eax, dword [esp + 0x1c]
mov dword [esp + 0x54], 0
setb bl
mov eax, dword [esp + 0x20]
and ebx, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x1c], edx
xor edx, edx
jmp 0x43b46f
mov dword [esp + 0x28], 0
xor edi, edi
xor ebp, ebp
jmp 0x43b1a5
mov ecx, 1
xor ebx, ebx
jmp 0x43aee6
mov ecx, 1
xor ebx, ebx
jmp 0x43aeb9
mov esi, 1
xor edi, edi
jmp 0x43abcf
mov ecx, 1
xor ebx, ebx
jmp 0x43ae2b
xor edi, edi
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], edi
jmp 0x43adc3
mov eax, 1
jmp 0x43ad8e
xor ebp, ebp
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], ebp
jmp 0x43acfe
xor eax, eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], eax
jmp 0x43ac61
mov ecx, 1
xor ebx, ebx
jmp 0x43af0b
mov esi, 1
xor edi, edi
jmp 0x43ae7a
mov dword [esp + 8], 0x16f
mov dword [esp + 4], str.C:_buildroot_src_gcc_13.2.0_libstdc_v3_src_c17_ryu_generic_128.h
mov dword [esp], str.shift___256
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov dword [esp + 8], 0x16e
mov dword [esp + 4], str.C:_buildroot_src_gcc_13.2.0_libstdc_v3_src_c17_ryu_generic_128.h
mov dword [esp], str.shift___0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov ecx, 1
xor ebx, ebx
jmp 0x43b0cf
mov ecx, 1
xor ebx, ebx
jmp 0x43b255
mov eax, 1
xor edx, edx
jmp 0x43b1dc
mov eax, 1
xor edx, edx
jmp 0x43b3e1
mov eax, 1
xor edx, edx
jmp 0x43b556
mov eax, 1
xor edx, edx
jmp 0x43b005
mov ecx, 1
xor ebx, ebx
jmp 0x43b656
mov eax, 1
xor edx, edx
jmp 0x43b612
mov ecx, 1
xor ebx, ebx
jmp 0x43b682