Function at 0x4451b0
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 + 0x50], eax
mov eax, dword [esp + 0x50]
add eax, 0x10
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x50]
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 0x445200
mov dword [esp + 0x20], 1
jmp 0x4457ff
jmp 0x445202
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
add eax, 0xbf25c73c
sub eax, 2
sub eax, 0xbf25c73c
shr eax, 1
mov dword [esp + 0x24], eax
jmp 0x445226
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0
jmp 0x445238
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
shld ecx, eax, 1
lea eax, [eax + eax + 1]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x1c]
sub eax, edx
sbb ecx, 0
jb 0x445266
jmp 0x44525d
jmp 0x44525f
jmp 0x445261
jmp 0x4454b3
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
add ecx, 1
adc edx, 0
mov esi, dword [esp + 0x1c]
xor eax, eax
sub ecx, esi
sbb edx, 0
jae 0x445362
jmp 0x445287
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 ebx, dword [esi]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov esi, ebx
add esi, eax
mov ecx, dword [ecx + edx*4]
mov edi, ebx
add edi, ecx
mov dx, word [ebx + eax + 0x1c]
mov bx, word [ebx + ecx + 0x1c]
mov ecx, esi
mov esi, ecx
add esi, 0x2e
mov ax, dx
sub ax, bx
mov dword [esp + 0x4c], edx
mov eax, edx
jb 0x4452d0
mov eax, ebx
movzx edx, ax
add edx, 0x2e
add ecx, edx
xor edx, edx
cmp ax, 0
mov dword [esp + 0x74], ebx
jne 0x4452ec
xor ebx, ebx
mov eax, dword [esp + 0x4c]
jmp 0x445344
add edi, 0x2e
mov dword [esp + 0x60], ecx
mov al, byte [esi]
mov ah, al
add ah, 0xbf
mov dl, al
add dl, 0x20
cmp ah, 0x1a
jb 0x445306
mov dl, al
mov cl, byte [edi]
mov ah, cl
add ah, 0xbf
mov bl, cl
or bl, 0xbe
mov al, cl
and al, 0xbe
add bl, 0x62
add bl, al
cmp ah, 0x1a
jb 0x445322
mov bl, cl
cmp dl, bl
je 0x445330
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x4c]
jmp 0x445344
add esi, 1
add edi, 1
mov ecx, dword [esp + 0x60]
cmp esi, ecx
jb 0x4452f3
mov bl, dl
mov eax, dword [esp + 0x4c]
sub ax, word [esp + 0x74]
setb al
sub dl, bl
setb dl
sub esi, ecx
je 0x445357
mov al, dl
and al, 1
movzx eax, al
cmp eax, 0
setne al
movzx eax, al
and eax, 1
mov ecx, dword [esp + 0x10]
add ecx, eax
adc dword [esp + 0x14], 0
mov dword [esp + 0x10], ecx
mov eax, dword [esp]
mov ecx, dword [esp + 0x10]
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 ebx, dword [esi]
mov edx, dword [edx]
mov eax, dword [edx + eax*4]
mov esi, ebx
add esi, eax
mov ecx, dword [edx + ecx*4]
mov edi, ebx
add edi, ecx
mov dx, word [ebx + eax + 0x1c]
mov bx, word [ebx + ecx + 0x1c]
mov ecx, esi
mov esi, ecx
add esi, 0x2e
mov ax, dx
sub ax, bx
mov dword [esp + 0x48], edx
mov eax, edx
jb 0x4453c3
mov eax, ebx
movzx edx, ax
add edx, 0x2e
add ecx, edx
xor edx, edx
cmp ax, 0
mov dword [esp + 0x70], ebx
jne 0x4453df
xor ebx, ebx
mov eax, dword [esp + 0x48]
jmp 0x445437
add edi, 0x2e
mov dword [esp + 0x5c], ecx
mov al, byte [esi]
mov ah, al
add ah, 0xbf
mov dl, al
add dl, 0x20
cmp ah, 0x1a
jb 0x4453f9
mov dl, al
mov cl, byte [edi]
mov ah, cl
add ah, 0xbf
mov bl, cl
or bl, 0xbe
mov al, cl
and al, 0xbe
add bl, 0x62
add bl, al
cmp ah, 0x1a
jb 0x445415
mov bl, cl
cmp dl, bl
je 0x445423
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x48]
jmp 0x445437
add esi, 1
add edi, 1
mov ecx, dword [esp + 0x5c]
cmp esi, ecx
jb 0x4453e6
mov bl, dl
mov eax, dword [esp + 0x48]
sub ax, word [esp + 0x70]
setb al
sub dl, bl
setb dl
sub esi, ecx
je 0x44544a
mov al, dl
and al, 1
movzx eax, al
cmp eax, 0
setne al
test al, 1
jne 0x445461
jmp 0x44545b
jmp 0x44545d
jmp 0x44545f
jmp 0x4454b3
jmp 0x445463
jmp 0x445465
jmp 0x445467
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 + 0x10]
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 + 0x10]
mov dword [ecx + edx*4], eax
jmp 0x44549c
jmp 0x44549e
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], eax
jmp 0x445238
jmp 0x4454b5
cmp dword [esp + 0x24], 0
setne al
test al, 1
jne 0x4454cf
jmp 0x4454c3
jmp 0x4454c5
mov dword [esp + 0x20], 2
jmp 0x4454f6
mov eax, dword [esp + 0x24]
add eax, 0x4ec7001a
sub eax, 1
sub eax, 0x56cce393
add eax, 0xb138ffe6
add eax, 0x56cce393
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x445502
jmp 0x445500
jmp 0x445507
jmp 0x445226
mov eax, dword [esp + 0x1c]
sub eax, 1
mov dword [esp + 4], eax
cmp dword [esp + 4], 0
jbe 0x4457f7
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
jmp 0x44552f
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 0x445557
jmp 0x445559
jmp 0x44555b
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
shld ecx, eax, 1
lea eax, [eax + eax + 1]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov edx, dword [esp + 4]
sub eax, edx
sbb ecx, 0
setae al
test al, 1
jne 0x445585
jmp 0x44558a
jmp 0x4457e5
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
add ecx, 1
adc edx, 0
mov esi, dword [esp + 4]
xor eax, eax
sub ecx, esi
sbb edx, 0
jae 0x445686
jmp 0x4455ab
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 ebx, dword [esi]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov esi, ebx
add esi, eax
mov ecx, dword [ecx + edx*4]
mov edi, ebx
add edi, ecx
mov dx, word [ebx + eax + 0x1c]
mov bx, word [ebx + ecx + 0x1c]
mov ecx, esi
mov esi, ecx
add esi, 0x2e
mov ax, dx
sub ax, bx
mov dword [esp + 0x44], edx
mov eax, edx
jb 0x4455f4
mov eax, ebx
movzx edx, ax
add edx, 0x2e
add ecx, edx
xor edx, edx
cmp ax, 0
mov dword [esp + 0x6c], ebx
jne 0x445610
xor ebx, ebx
mov eax, dword [esp + 0x44]
jmp 0x445668
add edi, 0x2e
mov dword [esp + 0x58], ecx
mov al, byte [esi]
mov ah, al
add ah, 0xbf
mov dl, al
add dl, 0x20
cmp ah, 0x1a
jb 0x44562a
mov dl, al
mov cl, byte [edi]
mov ah, cl
add ah, 0xbf
mov bl, cl
or bl, 0xbe
mov al, cl
and al, 0xbe
add bl, 0x62
add bl, al
cmp ah, 0x1a
jb 0x445646
mov bl, cl
cmp dl, bl
je 0x445654
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x44]
jmp 0x445668
add esi, 1
add edi, 1
mov ecx, dword [esp + 0x58]
cmp esi, ecx
jb 0x445617
mov bl, dl
mov eax, dword [esp + 0x44]
sub ax, word [esp + 0x6c]
setb al
sub dl, bl
setb dl
sub esi, ecx
je 0x44567b
mov al, dl
and al, 1
movzx eax, al
cmp eax, 0
setne al
movzx eax, al
and eax, 1
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edi, esi
not edi
or edi, eax
mov edx, esi
add edx, edi
mov ebx, ecx
not ebx
mov edi, ecx
adc edi, ebx
shld edi, edx, 1
add edx, edx
xor esi, eax
add edx, esi
adc edi, ecx
add edx, 2
adc edi, 0
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
mov eax, dword [esp]
mov ecx, dword [esp + 8]
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 ebx, dword [esi]
mov edx, dword [edx]
mov eax, dword [edx + eax*4]
mov esi, ebx
add esi, eax
mov ecx, dword [edx + ecx*4]
mov edi, ebx
add edi, ecx
mov dx, word [ebx + eax + 0x1c]
mov bx, word [ebx + ecx + 0x1c]
mov ecx, esi
mov esi, ecx
add esi, 0x2e
mov ax, dx
sub ax, bx
mov dword [esp + 0x40], edx
mov eax, edx
jb 0x44570c
mov eax, ebx
movzx edx, ax
add edx, 0x2e
add ecx, edx
xor edx, edx
cmp ax, 0
mov dword [esp + 0x68], ebx
jne 0x445728
xor ebx, ebx
mov eax, dword [esp + 0x40]
jmp 0x445780
add edi, 0x2e
mov dword [esp + 0x54], ecx
mov al, byte [esi]
mov ah, al
add ah, 0xbf
mov dl, al
add dl, 0x20
cmp ah, 0x1a
jb 0x445742
mov dl, al
mov cl, byte [edi]
mov ah, cl
add ah, 0xbf
mov bl, cl
or bl, 0xbe
mov al, cl
and al, 0xbe
add bl, 0x62
add bl, al
cmp ah, 0x1a
jb 0x44575e
mov bl, cl
cmp dl, bl
je 0x44576c
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x40]
jmp 0x445780
add esi, 1
add edi, 1
mov ecx, dword [esp + 0x54]
cmp esi, ecx
jb 0x44572f
mov bl, dl
mov eax, dword [esp + 0x40]
sub ax, word [esp + 0x68]
setb al
sub dl, bl
setb dl
sub esi, ecx
je 0x445793
mov al, dl
and al, 1
movzx eax, al
cmp eax, 0
jne 0x44579f
jmp 0x4457e5
jmp 0x4457a1
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 + 8]
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 + 8]
mov dword [ecx + edx*4], eax
jmp 0x4457d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
jmp 0x445559
jmp 0x4457e7
mov eax, dword [esp + 4]
add eax, 0xffffffff
mov dword [esp + 4], eax
jmp 0x445512
mov dword [esp + 0x20], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret