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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov eax, dword [esp + 0x78]
lea eax, [eax + 0x108]
mov dword [esp + 0x44], eax
mov dword [esp], eax
mov dword [esp + 4], str.console
call fcn.007c58b0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
mov ebp, 1
cmp eax, ecx
je 0x44847b
mov cl, 0x43
mov eax, 0x12
movzx edx, cl
mov ecx, 1
cmp edx, 0xe
mov byte [esp + 0x32], dl
mov byte [esp + 0x33], dl
mov byte [esp + 0x31], dl
mov byte [esp + 0x27], dl
mov byte [esp + 0x26], dl
mov byte [esp + 0x25], dl
mov dword [esp + 0x4c], edx
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x40], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x48], edx
je 0x448092
cmp eax, 0xe
je 0x447e99
xor eax, eax
test al, al
jne 0x447e99
mov dword [esp + 0x2c], edx
mov ecx, dword [0x80cb48]
test ecx, ecx
setne al
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
sete cl
cmp dword [0x80cb40], 0
je 0x447eac
mov edx, dword [0x80cb44]
test edx, edx
je 0x447eb3
imul edx, edx
and edx, 3
cmp edx, 1
ja 0x447eba
mov byte [esp + 0x1b], bl
mov byte [esp + 0x3b], bh
mov byte [esp + 0x32], 0x24
or al, cl
mov ebp, 0
jne 0x44818e
jmp 0x44847b
mov byte [esp + 0x1b], bl
mov dword [esp + 0x2c], edx
mov byte [esp + 0x3b], bh
mov ebp, ecx
jmp 0x448553
xor ebp, ebp
jmp 0x44847b
xor ebp, ebp
jmp 0x44847b
xor ebp, ebp
jmp 0x44847b
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x1e8]
xor ebp, ebp
cmp eax, 3
jne 0x447ef1
mov byte [esp + 0x32], 0x6a
mov byte [esp + 0x33], 0x47
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
jne 0x44847b
jmp 0x4484d4
mov byte [esp + 0x32], 0x6a
mov byte [esp + 0x33], 0x47
jmp 0x4484d4
mov byte [esp + 0x33], 0x47
call fcn.00449410
xor ebp, ebp
cmp eax, 8
je 0x447f32
mov dword [esp + 0x14], 0xe
mov byte [esp + 0x31], 8
mov eax, 0x13
xor ecx, ecx
test cl, cl
je 0x44804a
jmp 0x44862b
mov dword [esp + 0x14], 0xe
mov byte [esp + 0x31], 8
jmp 0x44862b
mov dword [esp + 0x48], ebx
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x31], 8
mov byte [esp + 0x1b], 0x44
lea eax, [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.007c3f60
test eax, eax
jne 0x448066
imul eax, eax
and eax, 3
cmp eax, 1
ja 0x448066
mov dword [esp + 0x3c], ebp
mov ebx, 0x10
mov byte [esp + 0x27], 0x6e
lea eax, [esp + 0x58]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x80cb40]
sub esp, 0x14
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
mov eax, 0x13
jne 0x448131
cmp ebx, 0xa
jne 0x448062
xor ecx, ecx
mov eax, 0x9d
xor eax, 0x98
mov edx, dword [esp + 0x50]
imul edx, edx
and edx, 3
mov ebp, dword [esp + 0x50]
jmp 0x448033
inc ecx
cmp edx, 2
mov esi, ebp
sbb esi, 0
mov edi, esi
or edi, 2
mov ebx, esi
xor ebx, 2
add ebx, edi
mov edi, ebp
mov ebx, dword [esp + 0x54]
cmovne edi, ebx
cmp esi, ebx
cmovb edi, ebp
mov esi, ecx
not esi
and esi, 1
add esi, ecx
setne bl
movzx esi, bl
cmp ecx, esi
jb 0x448010
mov ebp, dword [esp + 0x3c]
cmp eax, 5
je 0x4483c2
xor eax, eax
test al, al
je 0x44847b
jmp 0x4483c2
mov ebp, dword [esp + 0x3c]
mov eax, 0xf
mov bl, byte [esp + 0x1b]
movzx ecx, bl
cmp ecx, 0x2b
mov bh, byte [esp + 0x3b]
mov edx, dword [esp + 0x2c]
je 0x448092
mov eax, 4
cmp ecx, 0x44
je 0x448210
jmp 0x44822a
mov byte [esp + 0x3b], bh
cmp eax, 0xf
jne 0x4480bb
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x4480bb
mov dword [esp + 0x2c], edx
mov ecx, 3
xor ebp, ebp
mov byte [esp + 0x1b], 0x44
jmp 0x448816
mov eax, dword [0x80cb40]
test eax, eax
je 0x448278
mov ecx, eax
or ecx, 2
xor eax, 2
add eax, ecx
je 0x44827f
mov ecx, dword [0x80cb44]
test ecx, ecx
je 0x448286
mov dword [esp + 0x2c], edx
mov eax, 3
mov edx, 3
sub edx, ecx
xor edx, ecx
je 0x44828d
mov ecx, dword [0x80cb48]
test ecx, ecx
mov ebp, 0
je 0x44847b
sub eax, ecx
xor eax, ecx
je 0x44847b
mov dword [esp + 0x3c], 0
mov byte [esp + 0x1b], bl
mov eax, 5
mov byte [esp + 0x32], 0x24
cmp eax, 5
je 0x44818e
xor eax, eax
test al, al
jne 0x44818e
mov eax, 6
mov dl, byte [esp + 0x27]
movzx ecx, dl
cmp ecx, 0x14
je 0x4485b1
mov ebx, 7
mov byte [esp + 0x27], 0x6e
mov byte [esp + 0x3b], 0x6b
mov byte [esp + 0x26], 0xc
mov al, 0x3e
mov dword [esp + 0x2c], eax
call dword [0x80cb48]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x20], eax
test eax, eax
mov ebp, dword [esp + 0x3c]
jne 0x448642
jmp 0x448485
movzx eax, byte [esp + 0x32]
cmp eax, 0x24
je 0x4481dd
cmp eax, 0x6a
je 0x447ec1
cmp eax, 0x75
jne 0x448231
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x1e8]
xor ebp, ebp
cmp eax, 3
jne 0x448269
mov byte [esp + 0x32], 0x50
mov byte [esp + 0x33], 0x47
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne 0x44847b
jmp 0x4484d4
mov byte [esp + 0x32], 0x75
mov byte [esp + 0x33], 0x47
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x1e8]
xor ebp, ebp
cmp ecx, 3
jne 0x4484d4
mov eax, 1
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jae 0x4484d4
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
cmp eax, ecx
je 0x44847b
xor ebp, ebp
jmp 0x44847b
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x1e8]
xor ebp, ebp
cmp eax, 3
je 0x44847b
imul eax, eax
and eax, 3
cmp eax, 2
je 0x44847b
mov eax, 0xb
mov byte [esp + 0x32], 0x24
mov byte [esp + 0x33], 0x47
jmp 0x4484c4
mov byte [esp + 0x32], 0x50
mov byte [esp + 0x33], 0x47
jmp 0x4484d4
xor ebp, ebp
jmp 0x44847b
xor ebp, ebp
jmp 0x44847b
xor ebp, ebp
jmp 0x44847b
xor ebp, ebp
jmp 0x44847b
mov bl, al
xor bl, 0x4c
mov edx, ecx
not edx
and edx, 1
add edx, ecx
setne dl
movzx edx, dl
add ecx, edx
xor esi, esi
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x48], edx
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
sbb edx, edx
and edx, 1
cmp ecx, edx
jb 0x4482a0
mov ecx, dword [esp + 0x3c]
mov edx, ebx
mov bl, byte [esp + 0x1b]
mov bh, byte [esp + 0x3b]
jmp 0x447e37
mov dword [esp + 0x34], eax
xor eax, eax
test al, al
je 0x448066
mov dword [esp + 0x3c], ebp
mov eax, 7
mov ecx, dword [esp + 0x40]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x4c]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x54], ecx
test ecx, ecx
je 0x448341
xor ecx, ecx
test cl, cl
jne 0x448341
mov ebx, 0xa
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov edi, ecx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], ecx
jne 0x447fe5
jmp 0x448353
mov ecx, dword [esp + 0x34]
mov edi, ecx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], ecx
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
cmp eax, ecx
jne 0x4483be
xor eax, eax
mov edx, dword [esp + 0x2c]
xor esi, esi
jmp 0x44839a
mov edx, 0x9a
add dl, 0xc9
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
adc eax, 0
mov ebx, dword [esp + 0x5c]
mov ecx, 3
sub ecx, eax
xor ecx, eax
setne cl
movzx ecx, cl
cmp eax, ecx
jb 0x448380
mov dword [esp + 0x48], ebx
mov dword [esp + 0x2c], edx
mov ebp, dword [esp + 0x3c]
jmp 0x448553
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov eax, ecx
and eax, 1
xor eax, ecx
cmp eax, 0xffffffff
setne al
movzx esi, al
add esi, ecx
cmp esi, dword [esp + 0x20]
jae 0x448409
mov ebx, 1
mov eax, esi
not eax
and eax, 1
add eax, esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
mov esi, edi
jne 0x448613
jmp 0x448553
mov dword [esp + 0x40], esi
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
mov esi, edi
jmp 0x448553
mov dword [esp + 0x3c], ebp
mov ebx, 0x1b
mov byte [esp + 0x3b], 0x3f
mov byte [esp + 0x25], 0x3e
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call dword [0x80cb44]
sub esp, 4
mov eax, dword [esp + 0x60]
cmp eax, esi
jne 0x448469
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
mov ebp, dword [esp + 0x3c]
jne 0x448743
mov eax, dword [esp + 0x34]
jmp 0x448672
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
jmp 0x448672
mov ebp, 1
mov eax, ebp
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret
cmp ebx, 7
jne 0x4482f5
mov dword [esp + 0x3c], ebp
mov eax, 0x19
mov ebx, dword [esp + 0x2c]
movzx ecx, bl
cmp ecx, 0x42
je 0x4484c0
mov eax, 1
cmp ecx, 0x63
jne 0x448353
xor ecx, ecx
mov eax, 0x2b
xor eax, 0x25
jmp 0x4482c0
mov ebp, dword [esp + 0x3c]
cmp eax, 0xb
jne 0x44851a
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x44851a
mov ecx, 0xe
movzx edx, byte [esp + 0x33]
cmp edx, 0x1d
je 0x448792
mov eax, 0x10
cmp edx, 0x47
jne 0x448756
mov byte [esp + 0x33], 0x28
call fcn.00449410
xor ebp, ebp
cmp eax, 8
je 0x448529
mov byte [esp + 0x31], 8
xor eax, eax
test al, al
je 0x44847b
jmp 0x4487b5
mov eax, 0x1b
mov cl, 0x3e
xor esi, esi
mov ebx, dword [esp + 0x5c]
jmp 0x448533
mov byte [esp + 0x31], 8
jmp 0x4487b5
cmp eax, 0xb
je 0x447f44
imul eax, eax
and eax, 3
cmp eax, 3
je 0x447f44
mov dword [esp + 0x48], ebx
mov dword [esp + 0x2c], ecx
mov al, byte [esp + 0x3b]
movzx eax, al
cmp eax, 0x5c
je 0x448684
mov ebx, 6
cmp eax, 0x6b
jne 0x448733
mov dword [esp + 0x3c], ebp
mov ebx, 0x10
mov byte [esp + 0x3b], 0x5c
mov byte [esp + 0x25], 0x3e
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call dword [0x80cb44]
sub esp, 4
cmp dword [esp + 0x60], esi
je 0x448729
mov eax, 0xf
xor ecx, ecx
test cl, cl
jne 0x44872f
mov dl, byte [esp + 0x27]
cmp eax, 6
jne 0x448720
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x448720
mov ebx, 0xa
mov dword [esp + 0x14], 8
mov byte [esp + 0x27], 0x14
mov byte [esp + 0x3b], 0x6b
mov byte [esp + 0x26], 0xc
mov al, 0x3e
mov dword [esp + 0x2c], eax
call dword [0x80cb48]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x20], ecx
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
sete al
movzx eax, al
cmp ecx, eax
mov ebp, dword [esp + 0x3c]
jne 0x44862b
cmp ebx, 1
je 0x4482f5
xor eax, eax
test al, al
je 0x44848e
jmp 0x4482f5
mov ecx, dword [esp + 0x14]
cmp ecx, 8
je 0x448642
mov eax, ecx
and eax, 1
inc eax
xor eax, ecx
jne 0x4487b5
mov dword [esp + 0x3c], ebp
mov dl, byte [esp + 0x26]
movzx eax, dl
cmp eax, 0x1b
jne 0x4486bc
mov ebx, 0xc
mov byte [esp + 0x26], 0x1b
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x40], 0
mov ebp, dword [esp + 0x3c]
cmp ebx, 0xc
jne 0x4482e7
mov dword [esp + 0x34], eax
jmp 0x4482f5
mov byte [esp + 0x25], 0x3e
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call dword [0x80cb44]
sub esp, 4
cmp dword [esp + 0x60], esi
je 0x44873e
mov byte [esp + 0x3b], 0x6b
xor eax, eax
test al, al
jne 0x448743
mov ebx, 0xc
jmp 0x448808
xor eax, eax
mov ebx, 0x9f
add ebx, 0xffffff76
jmp 0x4486eb
mov dl, bl
add dl, 0xf7
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x4c], ecx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb ecx, ecx
and ecx, 1
cmp eax, ecx
jb 0x4486d0
mov dword [esp + 0x34], 0
mov byte [esp + 0x26], dl
mov dword [esp + 0x40], 0
mov ebp, dword [esp + 0x3c]
jmp 0x448485
mov byte [esp + 0x27], dl
jmp 0x448062
mov ebp, dword [esp + 0x3c]
jmp 0x448733
mov ebp, dword [esp + 0x3c]
cmp ebx, 6
je 0x448420
jmp 0x448743
mov byte [esp + 0x3b], 0x6b
mov eax, 0xd
movzx ecx, byte [esp + 0x25]
cmp ecx, 0x63
je 0x448476
cmp eax, 0xd
je 0x448476
xor eax, eax
test al, al
jne 0x448476
mov byte [esp + 0x33], 0x1d
call fcn.00449410
cmp eax, 8
je 0x4487ae
mov byte [esp + 0x31], 8
mov ecx, 1
imul eax, eax
and eax, 3
cmp eax, 3
mov ebp, 0
je 0x4487b5
mov eax, 3
sub eax, ecx
xor eax, ecx
setne al
movzx eax, al
cmp ecx, eax
jne 0x447f00
jmp 0x44847b
mov byte [esp + 0x31], 8
xor ebp, ebp
mov eax, 0xb
mov cl, byte [esp + 0x31]
movzx ecx, cl
cmp ecx, 8
jne 0x448833
mov ebx, 0x17
mov byte [esp + 0x31], 0x44
lea eax, [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.007c3f60
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
cmp eax, ecx
mov ecx, 9
mov byte [esp + 0x1b], 0x44
jne 0x448816
cmp ebx, 0xc
jne 0x447f89
jmp 0x448066
cmp ecx, 3
jne 0x448066
mov eax, 3
sub eax, ecx
xor eax, ecx
jne 0x44847b
jmp 0x448066
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x48]
jmp 0x448533