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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xf4
mov eax, dword [ebp + 8]
push ebx
push esi
lea ecx, [eax + 0x1760]
push edi
mov edi, eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x44], ecx
cmp eax, ecx
ja 0x10027724
mov edx, dword [ebp + 0x10]
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x44]
jmp 0x10027650
xor ecx, ecx
cmp edi, 0x75dd
ja 0x100278c1
je 0x100278aa
cmp edi, 0x731d
ja 0x100277df
je 0x1002779d
cmp edi, 0x5456
ja 0x100276f4
je 0x100276e0
mov eax, edi
sub eax, 0xf58
je 0x100276c8
sub eax, 0x58
je 0x10027724
sub eax, 0x444e
jne 0x100277b4
mov eax, dword [edx]
test eax, eax
je 0x100276ac
cmp dword [eax + 0x1c], ecx
jne 0x100277b4
mov eax, 0x668d
cmp eax, eax
je 0x1002869a
add eax, 0x42
cmp eax, 0x668d
jbe 0x100276b3
jmp 0x100277b4
movzx eax, byte [edx + 1]
mov cx, word [edx]
shl cx, 8
or ax, cx
mov word [esp + 0x34], ax
jmp 0x100277b4
mov eax, dword [edx]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0xa8], eax
mov dword [eax + 0x28], ecx
jmp 0x100277b4
mov eax, edi
sub eax, 0x54ae
je 0x100277d0
sub eax, 0x58
je 0x1002776e
sub eax, 0x7ca
jne 0x100277b4
mov edi, 0x705b
mov eax, edi
sub eax, 0x705b
je 0x1002772f
sub eax, 0x58
jne 0x1002774f
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x10]
cdq
push edx
mov edx, dword [ebp + 0xc]
push eax
mov eax, dword [edx]
mov edx, dword [ecx]
push eax
push edx
call fcn.1001bcc0
add esp, 0x10
mov dword [esp + 0x34], eax
add edi, 0x58
cmp edi, 0x70b3
jbe 0x10027716
mov edi, dword [esp + 0x4c]
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x3c], eax
jmp 0x100277b4
mov edi, 0x1acb
mov eax, edi
sub eax, 0x1acb
je 0x10027783
sub eax, 0x53
je 0x10027724
jmp 0x10027792
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
push ecx
call fcn.100202d0
mov dword [esp + 0x34], eax
add edi, 0x53
cmp edi, 0x1b1e
jbe 0x10027773
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], eax
mov edi, dword [esp + 0x4c]
mov edx, dword [ebp + 0x10]
add edi, 0x58
mov dword [esp + 0x4c], edi
cmp edi, dword [esp + 0x44]
jbe 0x10027650
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0xa8]
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
jmp 0x100277b4
cmp edi, 0x747d
ja 0x10027844
je 0x1002782c
mov eax, edi
sub eax, 0x7375
je 0x1002781a
sub eax, 0x58
je 0x10027804
sub eax, 0x58
jne 0x100277b4
mov ecx, dword [edx]
mov ebx, dword [ecx + 0xc]
dec ebx
jmp 0x100277b4
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
lea ecx, [ecx + eax - 5]
mov dword [esp + 0x84], ecx
jmp 0x100277b4
mov eax, dword [edx]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax]
dec eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], eax
jmp 0x100277b4
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
mov ecx, dword [ebp + 0xc]
sub eax, dword [ecx]
add eax, ebx
mov dword [esp + 0xb0], eax
jmp 0x100277b4
mov eax, edi
sub eax, 0x74d5
je 0x10027892
sub eax, 0x58
je 0x10027875
sub eax, 0x58
jne 0x100277b4
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0xa4], eax
jmp 0x100277b4
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x88], ecx
mov dword [esp + 0xa0], eax
jmp 0x100277b4
mov ecx, dword [edx]
mov eax, dword [ecx + 0x10]
lea ecx, [eax + ebx - 0x101]
mov dword [esp + 0x8c], ecx
jmp 0x100277b4
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x38]
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
jmp 0x100277b4
cmp edi, 0x789d
ja 0x1002860f
je 0x10028601
cmp edi, 0x773d
ja 0x100285b4
je 0x10027933
mov eax, edi
sub eax, 0x7635
je 0x10027923
sub eax, 0x58
je 0x10027913
sub eax, 0x58
jne 0x100277b4
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x54]
mov eax, 1
shl eax, cl
dec eax
mov dword [esp + 0x9c], eax
jmp 0x100277b4
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x58], ecx
jmp 0x100277b4
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x5c], ecx
jmp 0x100277b4
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 0x58]
mov eax, 1
shl eax, cl
dec eax
mov dword [esp + 0x94], eax
mov eax, 0x81a
mov dword [esp + 0x50], eax
jmp 0x10027957
mov edx, dword [ebp + 0x10]
add eax, 0xfffff7e6
cmp eax, 0x7d
ja case.0x1002796c.2075
movzx eax, byte [eax + 0x100286c4]
jmp dword [eax*4 + 0x100286a8]
movzx ecx, byte [esp + 0x25]
mov dword [esp + 0x14], ecx
jmp case.0x1002796c.2075
mov edx, dword [esp + 0x9c]
and edx, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], 0x833
jmp case.0x1002796c.2075
cmp dword [esp + 0xc], 0xf
jae case.0x1002796c.2075
mov edi, dword [esp + 0x1c]
mov edx, 0x43fe
jmp 0x100279c0
mov eax, edx
sub eax, 0x43fe
je 0x100279ce
sub eax, 0x2a
jne 0x100279e2
movzx eax, byte [edi + 1]
mov ecx, dword [esp + 0xc]
inc edi
shl eax, cl
add dword [esp + 0x10], eax
add dword [esp + 0xc], 8
add edx, 0x2a
cmp edx, 0x4428
jbe 0x100279c0
mov dword [esp + 0x1c], edi
jmp case.0x1002796c.2075
movzx edx, byte [esp + 0x24]
mov ecx, dword [esp + 0x14]
sub dword [esp + 0xc], ecx
mov dword [esp + 0x14], edx
jmp case.0x1002796c.2075
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10027a20
mov al, byte [esp + 0x26]
inc ebx
mov byte [ebx], al
jmp case.0x1002796c.2075
test al, 0x10
je 0x100283cf
mov eax, 0x5f98
mov dword [esp + 0x54], eax
cmp eax, 0x608d
ja 0x10027bb3
je 0x10027ba3
add eax, 0xffffa068
cmp eax, 0xc4
ja case.0x10027bca.24767
movzx ecx, byte [eax + 0x1002875c]
jmp dword [ecx*4 + 0x10028744]
cmp dword [esp + 0xc], 0xf
jae case.0x10027bca.24767
xor eax, eax
lea edx, [eax + 4]
cmp eax, 0xbd
ja case.0x10027a7e.1
movzx ecx, byte [eax + 0x10028830]
jmp dword [ecx*4 + 0x10028824]
add dword [esp + 0xc], 8
jmp case.0x10027a7e.1
mov ecx, dword [esp + 0x1c]
movzx edi, byte [ecx + 1]
inc ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc]
shl edi, cl
add dword [esp + 0x10], edi
add eax, 0x3f
dec edx
jne 0x10027a70
jmp case.0x10027bca.24767
and dword [esp + 0x14], 0xf
je case.0x10027bca.24767
mov ecx, dword [esp + 0x14]
mov eax, 1
rol eax, cl
mov edx, 0x7581
mov dword [esp + 0x40], edx
mov dword [esp + 0x2c], eax
mov eax, edx
sub eax, 0x7581
je 0x10027ae9
sub eax, 0x5a
jne 0x10027b4b
shr dword [esp + 0x10], cl
sub dword [esp + 0xc], ecx
jmp 0x10027b4b
mov edi, dword [esp + 0x10]
cmp dword [esp + 0xc], ecx
jae 0x10027b38
mov edx, 0x4134
jmp 0x10027b00
mov eax, edx
sub eax, 0x4134
je 0x10027b15
sub eax, 2
jne 0x10027b29
add dword [esp + 0xc], 8
jmp 0x10027b29
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
inc eax
mov dword [esp + 0x1c], eax
movzx eax, byte [eax]
shl eax, cl
add edi, eax
add edx, 2
cmp edx, 0x4136
jbe 0x10027b00
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
dec ecx
and ecx, edi
add dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
add edx, 0x5a
mov dword [esp + 0x40], edx
cmp edx, 0x75db
jbe 0x10027ad1
jmp case.0x10027bca.24767
mov edx, dword [esp + 0x94]
xor eax, eax
and edx, dword [esp + 0x10]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x24], ecx
jmp case.0x10027bca.24767
mov eax, dword [esp + 0x24]
shr eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x2a], 1
jmp case.0x10027bca.24767
mov dword [esp + 0x98], 2
jmp case.0x10027bca.24767
add eax, 0xffff9f42
cmp eax, 0xc4
ja case.0x10027bca.24767
movzx edx, byte [eax + 0x10028908]
jmp dword [edx*4 + 0x100288f0]
mov ecx, dword [esp + 0x14]
shr dword [esp + 0x10], cl
sub dword [esp + 0xc], ecx
jmp case.0x10027bca.24767
cmp byte [esp + 0x2a], 0
movzx eax, byte [esp + 0x24]
mov dword [esp + 0x14], eax
je case.0x10027bca.24767
mov ecx, dword [esp + 0x80]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp case.0x10027bca.24767
mov al, byte [esp + 0x14]
test al, 0x10
je 0x10028204
mov dword [esp + 0x40], 0x252d
lea ecx, [ecx]
mov eax, dword [esp + 0x40]
add eax, 0xffffdad3
cmp eax, 0x24
ja case.0x10027c39.9518
movzx edx, byte [eax + 0x100289e8]
jmp dword [edx*4 + 0x100289d0]
mov eax, ebx
sub eax, dword [esp + 0xb0]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x30], eax
jbe 0x10027f9e
mov edx, dword [esp + 0x18]
mov dword [esp + 0x38], 0x5a27
mov edi, eax
mov eax, dword [esp + 0x38]
add eax, 0xffffa5d9
cmp eax, 0xb4
ja case.0x10027c80.23080
movzx eax, byte [eax + 0x10028a24]
jmp dword [eax*4 + 0x10028a10]
mov ecx, dword [esp + 0x30]
sub ecx, edi
mov edi, ecx
mov dword [esp + 0x14], edi
cmp edi, dword [esp + 0xa0]
jbe case.0x10027c80.23080
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x1bc0], 0
je case.0x10027c80.23080
mov eax, 0x39d6
cmp eax, 0x3ac6
ja 0x10027cdb
je case.0x10027cf0.15086
lea ecx, [eax - 0x39d6]
cmp ecx, 0xc8
ja case.0x10027cf0.15086
movzx ecx, byte [ecx + 0x10028ae4]
jmp dword [ecx*4 + 0x10028adc]
lea ecx, [eax - 0x3aee]
cmp ecx, 0xc8
ja case.0x10027cf0.15086
movzx ecx, byte [ecx + 0x10028bc4]
jmp dword [ecx*4 + 0x10028bb0]
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx]
lea edx, [esp + 0x60]
mov dword [ecx + 0x18], edx
mov edx, dword [esp + 0x18]
jmp case.0x10027cf0.15086
mov ecx, dword [esp + 0x20]
mov dword [ecx], 0x1d
add eax, 0x28
cmp eax, 0x3bb6
jbe 0x10027cb6
jmp case.0x10027c80.23080
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0x3c]
dec esi
mov dword [esp + 0x2c], esi
test eax, eax
jne 0x10027da3
mov edx, 0x714b
cmp edx, edx
jne 0x10027d8b
mov eax, dword [esp + 0x88]
sub eax, edi
add esi, eax
cmp edi, dword [esp + 0x18]
jae 0x10027d8b
mov ecx, 0x4372
mov eax, ecx
sub eax, 0x4372
je 0x10027d7c
sub eax, 0x36
je 0x10027d70
sub eax, 0x36
jne 0x10027d80
mov esi, ebx
sub esi, dword [esp + 0x30]
jmp 0x10027d80
mov al, byte [esi + 1]
inc esi
inc ebx
dec edi
mov byte [ebx], al
jne 0x10027d70
jmp 0x10027d80
sub dword [esp + 0x18], edi
add ecx, 0x36
cmp ecx, 0x43de
jbe 0x10027d55
add edx, 0xc
cmp edx, 0x714b
jbe 0x10027d3d
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], edi
jmp case.0x10027c80.23080
cmp eax, edi
jae 0x10027e9f
mov ecx, 0x3d02
mov dword [esp + 0x14], ecx
jmp 0x10027dc0
mov eax, ecx
sub eax, 0x3d02
je 0x10027e70
sub eax, 0x2e
jne 0x10027e83
cmp edi, edx
jae 0x10027e83
mov edx, 0x5e1e
mov eax, edx
sub eax, 0x5e1e
je 0x10027e53
sub eax, 0x45
je 0x10027e41
sub eax, 0x45
jne 0x10027e57
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x3c], ecx
jae 0x10027e57
mov ecx, 0x49c7
mov eax, ecx
sub eax, 0x49c7
je 0x10027e30
sub eax, 0x11
je 0x10027e20
sub eax, 0x11
jne 0x10027e34
mov esi, ebx
sub esi, dword [esp + 0x30]
jmp 0x10027e34
sub dword [esp + 0x18], edi
mov al, byte [esi + 1]
inc esi
inc ebx
dec edi
mov byte [ebx], al
jne 0x10027e24
jmp 0x10027e34
mov edi, dword [esp + 0x3c]
add ecx, 0x11
cmp ecx, 0x49e9
jbe 0x10027e05
jmp 0x10027e57
sub esi, ebx
mov cl, byte [esi + ebx + 1]
inc ebx
dec edi
mov byte [ebx], cl
jne 0x10027e43
mov esi, dword [esp + 0x2c]
jmp 0x10027e57
sub dword [esp + 0x18], edi
add edx, 0x45
cmp edx, 0x5ea8
jbe 0x10027de3
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x10027e83
mov eax, dword [esp + 0x88]
sub eax, edi
add eax, dword [esp + 0x3c]
add esi, eax
sub edi, dword [esp + 0x3c]
add ecx, 0x2e
mov dword [esp + 0x14], ecx
cmp ecx, 0x3d30
jbe 0x10027dc0
mov dword [esp + 0x14], edi
jmp case.0x10027c80.23080
mov edx, 0x679a
cmp edx, edx
jne 0x10027ef5
mov ecx, dword [esp + 0x3c]
sub ecx, edi
add esi, ecx
cmp edi, dword [esp + 0x18]
jae 0x10027ef5
mov ecx, 0x1267
jmp 0x10027ec0
mov eax, ecx
sub eax, 0x1267
je 0x10027ed6
sub eax, 0xa
jne 0x10027eea
mov esi, ebx
sub esi, dword [esp + 0x30]
jmp 0x10027eea
sub dword [esp + 0x18], edi
lea ebx, [ebx]
mov al, byte [esi + 1]
inc esi
inc ebx
dec edi
mov byte [ebx], al
jne 0x10027ee0
add ecx, 0xa
cmp ecx, 0x1271
jbe 0x10027ec0
add edx, 0x58
cmp edx, 0x679a
jbe 0x10027ea6
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], edi
jmp case.0x10027c80.23080
test edx, edx
je case.0x10027c80.23080
mov ecx, 0x50b7
mov eax, ecx
sub eax, 0x50b7
je 0x10027f26
sub eax, 0x3b
jne 0x10027f2d
cmp edx, 1
jbe 0x10027f2d
mov al, byte [esi + 1]
inc esi
inc ebx
mov byte [ebx], al
add ecx, 0x3b
cmp ecx, 0x50f2
jbe 0x10027f13
jmp case.0x10027c80.23080
cmp edx, 2
jbe case.0x10027c80.23080
nop
mov ecx, 0x688f
mov eax, ecx
sub eax, 0x688f
je 0x10027f5d
sub eax, 0x4c
jne 0x10027f6f
mov al, byte [esi + 1]
inc esi
inc ebx
sub edx, 3
jmp 0x10027f6d
movzx eax, byte [esi + 1]
add esi, 2
mov byte [ebx + 1], al
movzx eax, byte [esi]
add ebx, 2
mov byte [ebx], al
add ecx, 0x4c
cmp ecx, 0x68db
jbe 0x10027f45
cmp edx, 2
ja 0x10027f40
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x38]
add eax, 0x3c
mov dword [esp + 0x38], eax
cmp eax, 0x5adb
jbe 0x10027c65
jmp case.0x10027c39.9518
mov edi, dword [esp + 0x18]
mov dword [esp + 0x38], 0x22b7
mov eax, dword [esp + 0x38]
sub eax, 0x22b7
je 0x10028003
sub eax, 0x48
jne 0x1002810a
test edi, edi
je 0x1002810a
mov ecx, 0x2f45
jmp 0x10027fd0
mov eax, ecx
sub eax, 0x2f45
je 0x10027fec
sub eax, 0x49
jne 0x10027ff3
cmp edi, 1
jbe 0x10027ff3
mov dl, byte [esi + 1]
inc esi
inc ebx
mov byte [ebx], dl
jmp 0x10027ff3
mov al, byte [esi + 1]
inc esi
inc ebx
mov byte [ebx], al
add ecx, 0x49
cmp ecx, 0x2f8e
jbe 0x10027fd0
jmp 0x1002810a
mov esi, ebx
sub esi, dword [esp + 0x30]
lea esp, [esp]
xor edi, edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x2c], 7
cmp edi, 0x54
ja case.0x10028031.1
movzx ecx, byte [edi + 0x10028cb0]
jmp dword [ecx*4 + 0x10028c90]
mov dl, byte [esi + 1]
inc esi
inc ebx
mov byte [ebx], dl
jmp case.0x10028031.1
mov dword [esp + 0x48], 0xffffffff
jmp case.0x10028031.1
mov al, byte [esi + 1]
inc esi
inc ebx
mov dword [esp + 0xac], 0x40
mov byte [ebx], al
jmp case.0x10028031.1
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [esp + 0x48], eax
jmp case.0x10028031.1
mov cl, byte [esi + 1]
inc esi
inc ebx
mov byte [esp + 0x2b], 1
mov byte [ebx], cl
jmp case.0x10028031.1
cmp dword [esp + 0x48], 0xffffffff
jne case.0x10028031.1
mov byte [esp + 0x2b], 0
jmp case.0x10028031.1
cmp byte [esp + 0x2b], 0
je 0x100280dd
mov edi, 0x2515
cmp edi, edi
jne 0x100280d2
mov eax, dword [esp + 0xac]
push 0
lea edx, [esp + 0xc0]
push edx
mov edx, dword [esp + 0x50]
push eax
lea ecx, [esp + 0xcc]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_ReadConsoleA]
mov eax, dword [esp + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_FlushConsoleInputBuffer]
add edi, 0x56
cmp edi, 0x2515
jbe 0x100280a0
sub dword [esp + 0x18], 3
mov edi, dword [esp + 0x90]
add edi, 0xe
dec dword [esp + 0x2c]
mov dword [esp + 0x90], edi
jne 0x10028021
mov edi, dword [esp + 0x18]
cmp edi, 2
ja 0x10028010
mov eax, dword [esp + 0x38]
add eax, 0x48
mov dword [esp + 0x38], eax
cmp eax, 0x22ff
jbe 0x10027faa
jmp case.0x10027c39.9518
movzx ecx, word [esp + 0x26]
and dword [esp + 0x14], 0xf
mov dword [esp + 0x30], ecx
jmp case.0x10027c39.9518
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov edx, 1
shl edx, cl
dec edx
and edx, eax
add dword [esp + 0x30], edx
shr eax, cl
mov dword [esp + 0x10], eax
jmp case.0x10027c39.9518
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x14]
jae case.0x10027c39.9518
mov edx, 0x6c60
mov ecx, eax
mov eax, edx
sub eax, 0x6c60
je 0x100281c2
sub eax, 0x33
je 0x100281b9
sub eax, 0x33
jne 0x100281d4
cmp ecx, dword [esp + 0x14]
jae 0x100281d4
mov eax, 0x19e4
cmp eax, eax
jne 0x100281ad
mov edi, dword [esp + 0x1c]
inc edi
mov dword [esp + 0x1c], edi
movzx edi, byte [edi]
shl edi, cl
mov ecx, dword [esp + 0xc]
add dword [esp + 0x10], edi
add ecx, 8
mov dword [esp + 0xc], ecx
add eax, 0x4e
cmp eax, 0x19e4
jbe 0x1002818e
jmp 0x100281d4
add ecx, 8
mov dword [esp + 0xc], ecx
jmp 0x100281d4
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
movzx eax, byte [eax]
shl eax, cl
add dword [esp + 0x10], eax
add edx, 0x33
cmp edx, 0x6cc6
jbe 0x1002816e
jmp case.0x10027c39.9518
mov ecx, dword [esp + 0x14]
sub dword [esp + 0xc], ecx
mov eax, dword [esp + 0x40]
add eax, 9
mov dword [esp + 0x40], eax
cmp eax, 0x2551
jbe 0x10027c20
jmp case.0x10027bca.24767
test al, 0x40
jne 0x1002825a
mov edx, 0x4e6a
mov eax, edx
sub eax, 0x4e6a
je 0x10028228
sub eax, 0x26
jne 0x1002824a
mov dword [esp + 0x54], 0x605c
jmp case.0x10027bca.24767
mov ecx, dword [esp + 0x14]
mov eax, 1
shl eax, cl
movzx ecx, word [esp + 0x26]
dec eax
and eax, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x24], eax
add edx, 0x26
cmp edx, 0x4e90
jbe 0x1002820d
jmp case.0x10027bca.24767
mov edi, 0x2c94
mov dword [esp + 0x2c], edi
cmp edi, 0x2d54
ja 0x100282ff
je 0x100282ce
mov eax, edi
sub eax, 0x2c94
je 0x100282c1
sub eax, 0x40
je 0x100282a2
sub eax, 0x40
jne 0x10028364
push 3
lea ecx, [esp + 0x6a]
push 0x10041c00
push ecx
mov byte [esp + 0x72], al
call fcn.1002a490
jmp 0x10028361
mov al, byte [0x10041c76]
mov dx, word [0x10041c74]
mov byte [esp + 0x65], al
mov word [esp + 0x63], dx
mov byte [esp + 0x65], 0x69
jmp 0x10028364
mov dword [esp + 0x60], 0x766e69
jmp 0x10028364
push 7
lea ecx, [esp + 0x6c]
push str.distan
push ecx
call fcn.1002aca0
lea edi, [esp + 0x6c]
add esp, 0xc
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x100282e7
mov dx, word [0x100419c0]
mov word [edi], dx
mov edi, dword [esp + 0x2c]
jmp 0x10028364
mov eax, edi
sub eax, 0x2d94
je 0x10028350
sub eax, 0x40
je 0x10028331
sub eax, 0x40
jne 0x10028364
mov eax, dword [esp + 0x20]
mov dword [eax], 0x1d
mov eax, dword [esp + 0xc]
shr eax, 3
mov edi, 0x7795
mov dword [esp + 0x18], eax
jmp 0x100277b1
push 2
lea eax, [esp + 0x64]
push 0x10042d84
push eax
call fcn.1002a900
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
lea eax, [esp + 0x6c]
mov dword [edx + 0x18], eax
jmp 0x10028361
push 5
lea ecx, [esp + 0x73]
push str.e_co
push ecx
call fcn.1002aca0
add esp, 0xc
add edi, 0x40
mov dword [esp + 0x2c], edi
cmp edi, 0x2e14
jbe 0x10028263
jmp case.0x10027bca.24767
cmp dword [esp + 0x80], 0
jne case.0x10027bca.24767
mov byte [esp + 0x2a], 0
jmp case.0x10027bca.24767
mov eax, dword [esp + 0x98]
movzx edx, byte [esp + 0x25]
push eax
push 0
push 0
lea ecx, [esp + 0xc0]
push ecx
mov dword [esp + 0x24], edx
call dword [sym.imp.GDI32.dll_CreatePolyPolygonRgn]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x54]
add eax, 0x31
mov dword [esp + 0x54], eax
cmp eax, 0x6182
jbe 0x10027a31
jmp case.0x1002796c.2075
test al, 0x40
jne 0x1002841e
mov edx, 0x1458
mov eax, edx
sub eax, 0x1458
je 0x100283ec
sub eax, 0x42
je 0x10027997
jmp 0x1002840e
mov ecx, dword [esp + 0x14]
mov eax, 1
shl eax, cl
movzx ecx, word [esp + 0x26]
dec eax
and eax, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x24], eax
add edx, 0x42
cmp edx, 0x149a
jbe 0x100283d8
jmp case.0x1002796c.2075
test al, 0x20
je 0x1002843e
mov eax, 0x4fed
cmp eax, eax
je 0x10028595
add eax, 0x27
cmp eax, 0x4fed
jbe 0x10028429
jmp case.0x1002796c.2075
mov edi, 0x2daf
jmp 0x10028453
mov edx, dword [ebp + 0x10]
cmp edi, 0x2e4e
ja 0x100284f5
je 0x100284e0
mov eax, edi
sub eax, 0x2daf
je 0x100284cd
sub eax, 0x35
je 0x100284a4
sub eax, 0x35
jne 0x10028537
mov ecx, dword [str.liter]
mov dx, word [0x10042dac]
push 3
lea eax, [esp + 0x71]
push 0x10041c74
push eax
mov dword [esp + 0x74], ecx
mov word [esp + 0x78], dx
call fcn.1002aca0
jmp 0x10028534
mov ecx, dword [str.valid]
mov dx, word [0x10042d94]
push 1
lea eax, [esp + 0x64]
push 0x10041c0c
push eax
mov dword [esp + 0x6e], ecx
mov word [esp + 0x72], dx
call fcn.1002a900
jmp 0x10028534
push 3
lea ecx, [esp + 0x64]
push 0x10042d98
push ecx
call fcn.1002aca0
jmp 0x10028534
mov edx, dword [str._len]
mov al, byte [0x10041ccc]
mov dword [esp + 0x6f], edx
mov byte [esp + 0x73], al
jmp 0x10028537
mov eax, edi
sub eax, 0x2e83
je 0x10028523
sub eax, 0x35
je 0x1002850e
sub eax, 0x35
je case.0x10027cf0.15286
jmp 0x10028537
mov ecx, dword [edx]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x60]
mov dword [ecx + 0x18], edx
mov dword [eax], 0x1d
jmp 0x10028537
push 9
lea ecx, [esp + 0x77]
push str.gth_code
push ecx
call fcn.1002a490
add esp, 0xc
add edi, 0x35
cmp edi, 0x2eed
jbe 0x10028450
jmp case.0x1002796c.2075
mov ecx, dword [esp + 0x14]
shr dword [esp + 0x10], cl
mov eax, dword [esp + 0x50]
add eax, 0x19
mov dword [esp + 0x50], eax
cmp eax, 0x897
jbe 0x10027954
mov edx, dword [esp + 0x84]
cmp dword [esp + 0x1c], edx
jae 0x100277ad
cmp ebx, dword [esp + 0x8c]
jae 0x100277ad
mov edx, dword [ebp + 0x10]
mov eax, 0x81a
mov dword [esp + 0x50], eax
jmp 0x10027957
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
shr eax, 3
mov dword [ecx], 0xb
mov edi, 0x7795
mov dword [esp + 0x18], eax
jmp 0x100277b1
mov eax, edi
sub eax, 0x7795
je case.0x10027cf0.15286
sub eax, 0x58
je 0x100285f4
sub eax, 0x58
jne 0x100277b4
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
add eax, eax
add eax, eax
add eax, eax
sub ecx, eax
mov eax, 1
shl eax, cl
mov dword [esp + 0xc], ecx
dec eax
and dword [esp + 0x10], eax
jmp 0x100277b4
mov ecx, dword [esp + 0x18]
sub dword [esp + 0x1c], ecx
jmp 0x100277b4
mov eax, dword [esp + 0x1c]
mov ecx, dword [edx]
inc eax
mov dword [ecx], eax
jmp 0x100277b4
cmp edi, 0x79fd
ja 0x1002867f
je 0x1002866f
mov eax, edi
sub eax, 0x78f5
je 0x10028662
sub eax, 0x58
je 0x10028648
sub eax, 0x58
jne 0x100277b4
mov eax, dword [esp + 0x8c]
mov ecx, dword [edx]
sub eax, ebx
add eax, 0x101
mov dword [ecx + 0x10], eax
jmp 0x100277b4
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
sub eax, ecx
mov ecx, dword [edx]
add eax, 5
mov dword [ecx + 4], eax
jmp 0x100277b4
mov ecx, dword [edx]
lea eax, [ebx + 1]
mov dword [ecx + 0xc], eax
jmp 0x100277b4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x38], eax
jmp 0x100277b4
mov eax, edi
sub eax, 0x7a55
je 0x10027761
sub eax, 0x58
je 0x10027724
jmp 0x100277b4
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret