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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add eax, 0x10
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 1
ja 0x443600
mov dword [esp + 0x20], 1
jmp 0x443c79
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
add eax, 0xe0360c96
add eax, 0xfffffffe
add eax, 0x48bf0d8d
sub eax, 0xe0360c96
sub eax, 0x48bf0d8d
shr eax, 1
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
shld ecx, eax, 1
lea eax, [eax + eax + 1]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov edx, dword [esp + 0x1c]
sub eax, edx
sbb ecx, 0
jb 0x443666
jmp 0x443661
jmp 0x443905
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
add ecx, 1
adc edx, 0
mov esi, dword [esp + 0x1c]
xor eax, eax
sub ecx, esi
sbb edx, 0
jae 0x443785
jmp 0x443687
mov eax, dword [esp]
mov ecx, dword [esp + 8]
mov edx, dword [eax + ecx*4 + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov esi, dword [esi]
mov ecx, dword [ecx]
mov ebx, dword [ecx + eax*4]
mov eax, esi
add eax, ebx
mov ecx, dword [ecx + edx*4]
mov edi, esi
add edi, ecx
mov bx, word [esi + ebx + 0x1c]
mov si, word [esi + ecx + 0x1c]
mov ecx, eax
add ecx, 0x2e
mov dx, bx
mov dword [esp + 0x50], esi
sub dx, si
mov dword [esp + 0x74], ebx
mov esi, ebx
jb 0x4436d4
mov esi, dword [esp + 0x50]
movzx edx, si
add edx, 0x2e
add eax, edx
xor ebx, ebx
cmp si, 0
jne 0x4436e8
xor esi, esi
jmp 0x443762
add edi, 0x2e
mov dword [esp + 0x60], eax
mov dl, byte [ecx]
mov dh, dl
add dh, 0xbf
movzx ebx, dl
cmp dh, 0x1a
jb 0x443700
jmp 0x443724
mov esi, ebx
add esi, 0x9d
mov edx, 0x62
sub edx, ebx
and edx, 0xde
and esi, 0x121
mov ebx, 0x61
sub ebx, edx
add ebx, esi
mov al, byte [edi]
mov dl, al
add dl, 0xbf
movzx eax, al
mov esi, eax
add esi, 0x20
cmp dl, 0x1a
jb 0x44373a
mov esi, eax
mov eax, esi
xor eax, ebx
and eax, 0xff
cmp eax, 0
je 0x44374e
mov eax, dword [esp + 0x60]
jmp 0x44375c
add ecx, 1
add edi, 1
mov eax, dword [esp + 0x60]
cmp ecx, eax
jb 0x4436ef
and esi, 0xff
mov edx, dword [esp + 0x74]
sub dx, word [esp + 0x50]
setb dl
sub ebx, esi
setb dh
sub ecx, eax
je 0x443779
mov dl, dh
and dl, 1
movzx eax, dl
cmp eax, 0
setne al
movzx eax, al
not eax
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
or eax, 0xfffffffe
sub eax, ecx
mov ecx, 0xffffffff
sbb ecx, edx
not ecx
not eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp]
mov ecx, dword [esp + 8]
mov ecx, dword [eax + ecx*4]
mov edx, dword [esp + 0x38]
mov eax, dword [eax + edx*4]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov esi, dword [esi]
mov edx, dword [edx]
mov ebx, dword [edx + eax*4]
mov eax, esi
add eax, ebx
mov ecx, dword [edx + ecx*4]
mov edi, esi
add edi, ecx
mov bx, word [esi + ebx + 0x1c]
mov si, word [esi + ecx + 0x1c]
mov ecx, eax
add ecx, 0x2e
mov dx, bx
mov dword [esp + 0x4c], esi
sub dx, si
mov dword [esp + 0x70], ebx
mov esi, ebx
jb 0x4437fa
mov esi, dword [esp + 0x4c]
movzx edx, si
add edx, 0x2e
add eax, edx
xor ebx, ebx
cmp si, 0
jne 0x44380e
xor esi, esi
jmp 0x443888
add edi, 0x2e
mov dword [esp + 0x5c], eax
mov dl, byte [ecx]
mov dh, dl
add dh, 0xbf
movzx ebx, dl
cmp dh, 0x1a
jb 0x443826
jmp 0x44384a
mov esi, ebx
add esi, 0x9d
mov edx, 0x62
sub edx, ebx
and edx, 0xde
and esi, 0x121
mov ebx, 0x61
sub ebx, edx
add ebx, esi
mov al, byte [edi]
mov dl, al
add dl, 0xbf
movzx eax, al
mov esi, eax
add esi, 0x20
cmp dl, 0x1a
jb 0x443860
mov esi, eax
mov eax, esi
xor eax, ebx
and eax, 0xff
cmp eax, 0
je 0x443874
mov eax, dword [esp + 0x5c]
jmp 0x443882
add ecx, 1
add edi, 1
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jb 0x443815
and esi, 0xff
mov edx, dword [esp + 0x70]
sub dx, word [esp + 0x4c]
setb dl
sub ebx, esi
setb dh
sub ecx, eax
je 0x44389f
mov dl, dh
and dl, 1
movzx eax, dl
cmp eax, 0
setne al
test al, 1
jne 0x4438b3
jmp 0x4438b1
jmp 0x443905
jmp 0x4438b5
jmp 0x4438b7
jmp 0x4438b9
mov eax, dword [esp]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x80], eax
mov eax, dword [esp]
mov ecx, dword [esp + 8]
mov ecx, dword [eax + ecx*4]
mov edx, dword [esp + 0x38]
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov dword [ecx + edx*4], eax
jmp 0x4438ee
jmp 0x4438f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
jmp 0x44363c
cmp dword [esp + 0x24], 0
jne 0x443918
jmp 0x44390e
mov dword [esp + 0x20], 2
jmp 0x44392b
mov eax, dword [esp + 0x24]
sub eax, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x443937
jmp 0x443935
jmp 0x44393c
jmp 0x44362c
mov eax, dword [esp + 0x1c]
sub eax, 2
sub eax, 0xffffffff
mov dword [esp + 4], eax
jmp 0x44394c
cmp dword [esp + 4], 0
seta al
test al, 1
jne 0x44395d
jmp 0x443c6d
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
jmp 0x44396f
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp]
mov eax, dword [eax]
mov ecx, dword [esp]
mov edx, dword [esp + 4]
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp]
mov dword [ecx], eax
jmp 0x443997
jmp 0x443999
jmp 0x44399b
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
shld ecx, eax, 1
lea eax, [eax + eax + 1]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 4]
sub eax, edx
sbb ecx, 0
jb 0x4439c5
jmp 0x4439c0
jmp 0x443c53
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add ecx, 1
adc edx, 0
mov esi, dword [esp + 4]
xor eax, eax
sub ecx, esi
sbb edx, 0
jae 0x443ae4
jmp 0x4439e6
mov eax, dword [esp]
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx*4 + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov esi, dword [esi]
mov ecx, dword [ecx]
mov ebx, dword [ecx + eax*4]
mov eax, esi
add eax, ebx
mov ecx, dword [ecx + edx*4]
mov edi, esi
add edi, ecx
mov bx, word [esi + ebx + 0x1c]
mov si, word [esi + ecx + 0x1c]
mov ecx, eax
add ecx, 0x2e
mov dx, bx
mov dword [esp + 0x48], esi
sub dx, si
mov dword [esp + 0x6c], ebx
mov esi, ebx
jb 0x443a33
mov esi, dword [esp + 0x48]
movzx edx, si
add edx, 0x2e
add eax, edx
xor ebx, ebx
cmp si, 0
jne 0x443a47
xor esi, esi
jmp 0x443ac1
add edi, 0x2e
mov dword [esp + 0x58], eax
mov dl, byte [ecx]
mov dh, dl
add dh, 0xbf
movzx ebx, dl
cmp dh, 0x1a
jb 0x443a5f
jmp 0x443a83
mov esi, ebx
add esi, 0x9d
mov edx, 0x62
sub edx, ebx
and edx, 0xde
and esi, 0x121
mov ebx, 0x61
sub ebx, edx
add ebx, esi
mov al, byte [edi]
mov dl, al
add dl, 0xbf
movzx eax, al
mov esi, eax
add esi, 0x20
cmp dl, 0x1a
jb 0x443a99
mov esi, eax
mov eax, esi
xor eax, ebx
and eax, 0xff
cmp eax, 0
je 0x443aad
mov eax, dword [esp + 0x58]
jmp 0x443abb
add ecx, 1
add edi, 1
mov eax, dword [esp + 0x58]
cmp ecx, eax
jb 0x443a4e
and esi, 0xff
mov edx, dword [esp + 0x6c]
sub dx, word [esp + 0x48]
setb dl
sub ebx, esi
setb dh
sub ecx, eax
je 0x443ad8
mov dl, dh
and dl, 1
movzx eax, dl
cmp eax, 0
setne al
movzx eax, al
and eax, 1
mov edx, dword [esp + 0x10]
mov ecx, edx
and ecx, eax
add ecx, ecx
mov esi, eax
xor esi, eax
not esi
and esi, edx
xor esi, eax
add esi, ecx
adc dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov eax, dword [esp]
mov ecx, dword [esp + 0x10]
mov ecx, dword [eax + ecx*4]
mov edx, dword [esp + 0x30]
mov eax, dword [eax + edx*4]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov esi, dword [esi]
mov edx, dword [edx]
mov ebx, dword [edx + eax*4]
mov eax, esi
add eax, ebx
mov ecx, dword [edx + ecx*4]
mov edi, esi
add edi, ecx
mov bx, word [esi + ebx + 0x1c]
mov si, word [esi + ecx + 0x1c]
mov ecx, eax
add ecx, 0x2e
mov dx, bx
mov dword [esp + 0x44], esi
sub dx, si
mov dword [esp + 0x68], ebx
mov esi, ebx
jb 0x443b59
mov esi, dword [esp + 0x44]
movzx edx, si
add edx, 0x2e
add eax, edx
xor ebx, ebx
cmp si, 0
jne 0x443b6d
xor esi, esi
jmp 0x443be7
add edi, 0x2e
mov dword [esp + 0x54], eax
mov dl, byte [ecx]
mov dh, dl
add dh, 0xbf
movzx ebx, dl
cmp dh, 0x1a
jb 0x443b85
jmp 0x443ba9
mov esi, ebx
add esi, 0x9d
mov edx, 0x62
sub edx, ebx
and edx, 0xde
and esi, 0x121
mov ebx, 0x61
sub ebx, edx
add ebx, esi
mov al, byte [edi]
mov dl, al
add dl, 0xbf
movzx eax, al
mov esi, eax
add esi, 0x20
cmp dl, 0x1a
jb 0x443bbf
mov esi, eax
mov eax, esi
xor eax, ebx
and eax, 0xff
cmp eax, 0
je 0x443bd3
mov eax, dword [esp + 0x54]
jmp 0x443be1
add ecx, 1
add edi, 1
mov eax, dword [esp + 0x54]
cmp ecx, eax
jb 0x443b74
and esi, 0xff
mov edx, dword [esp + 0x68]
sub dx, word [esp + 0x44]
setb dl
sub ebx, esi
setb dh
sub ecx, eax
je 0x443bfe
mov dl, dh
and dl, 1
movzx eax, dl
cmp eax, 0
jne 0x443c0b
jmp 0x443c53
jmp 0x443c0d
mov eax, dword [esp]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x78], eax
mov eax, dword [esp]
mov ecx, dword [esp + 0x10]
mov ecx, dword [eax + ecx*4]
mov edx, dword [esp + 0x30]
mov dword [eax + edx*4], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp]
mov edx, dword [esp + 0x10]
mov dword [ecx + edx*4], eax
jmp 0x443c3c
jmp 0x443c3e
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
jmp 0x44399b
mov eax, dword [esp + 4]
add eax, 0x21878c4c
add eax, 0xffffffff
sub eax, 0x21878c4c
mov dword [esp + 4], eax
jmp 0x44394a
jmp 0x443c6f
mov dword [esp + 0x20], 0
jmp 0x443c79
jmp 0x443c7b
jmp 0x443c7d
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret