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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2fc
mov eax, dword [ebp + 0xc]
push ebx
push esi
lea ecx, [eax + 0x609]
mov esi, eax
push edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x78], ecx
cmp eax, ecx
ja 0x10014e63
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x20]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
cmp esi, 0x94a
ja 0x10014f5b
je 0x10014f4e
cmp esi, 0x80f
ja 0x10014c0b
je 0x10014bfa
mov eax, esi
sub eax, 0x293
je 0x10014b58
sub eax, 0xf
jne case.0x100152d3.16323
call fcn.1001f8a0
jmp case.0x100152d3.16323
cmp word [0x100335ae], 0
jne case.0x100152d3.16323
xor esi, esi
lea edi, [esi + 5]
jmp 0x10014b70
cmp esi, 0x58
ja case.0x10014b7c.1
movzx eax, byte [esi + 0x10015d98]
jmp dword [eax*4 + 0x10015d80]
call fcn.1000e4e0
jmp case.0x10014b7c.1
mov ecx, dword [esp + 0x80]
push 0xffffff
add ecx, 0x14
push ecx
push 0xa
push 1
push str.Press_any_button_to_shutdown
jmp 0x10014be3
push 0
call fcn.1000ff90
add esp, 4
jmp case.0x10014b7c.1
scasb al, byte es:[edi]
adc al, 8
add dword [esi], ecx
mov edx, dword [ebp + 8]
push 0xffffff
push 0x1e
push 0xa
push 1
push edx
call sym.IT_Markt.dll_drawString
mov dword [esp + 0x94], eax
jmp 0x10014be8
push 0xff
push 0xa
push 0xa
push 1
push str.An_error_has_occurred:
call sym.IT_Markt.dll_drawString
add esp, 0x14
add esi, 0x16
dec edi
jne 0x10014b70
jmp 0x10015caf
xor eax, eax
mov dword [0x10031080], eax
mov dword [0x10031088], eax
jmp case.0x100152d3.16323
cmp esi, 0x91d
ja 0x10014f11
je 0x10014ed1
lea eax, [esi - 0x81e]
cmp eax, 0xf0
ja case.0x100152d3.16323
movzx eax, byte [eax + 0x10015e3c]
jmp dword [eax*4 + 0x10015df4]
adc bh, bh
and al, 0x85
hlt
mov dh, 5
xchg edi, eax
arpl word [ebx - 0x39], cx
add eax, 0x10031088
add dword [eax], eax
add byte [eax], al
push 0x3b70100
push 0x10506
mov ecx, 0x10031058
call fcn.1000dbf0
add esp, 8
jmp case.0x100152d3.16323
jo 0x10014cb4
sti
jo 0x10014c34
add eax, 0x10031084
add dword [eax], eax
add byte [eax], al
jmp case.0x100152d3.16323
mov dword [0x1003107c], 1
mov dword [0x10031084], 0x80
jmp case.0x100152d3.16323
mov dword [0x10031094], 0
jmp case.0x100152d3.16323
pop ebx
pop edi
and al, 0x63
xor dword [edx + 1], ebp
call fcn.1002ce90
add esp, 4
jmp case.0x100152d3.16323
adc byte [eax], al
add byte [ecx - 0x25e93116], dl
xchg ecx, eax
ljmp 0x6405
adc byte [ebx], al
adc byte [edi + ecx], al
test dh, ch
sldt word [eax]
xchg ecx, eax
ljmp 0x6405
mov eax, 0x11ef
cmp eax, eax
je 0x10015cd8
add eax, 9
cmp eax, 0x11ef
jbe 0x10014cd0
jmp case.0x100152d3.16323
push 0
push 0x10602
mov ecx, 0x10031058
call fcn.1000dbf0
add esp, 8
jmp case.0x100152d3.16323
push 0
push 0
mov ecx, 0x10031058
call fcn.1000dbf0
add esp, 8
nop
push 0x100000
push 0x10701
mov ecx, 0x10031058
call fcn.1000dbf0
add esp, 8
test byte [0x10031064], 1
je 0x10014d10
test dword [0x1003106c], 0x80000000
je 0x10014d10
jmp case.0x100152d3.16323
push 0x10031058
mov dword [0x1003108c], 1
call fcn.10021d80
add esp, 4
jmp case.0x100152d3.16323
cmp eax, 0x7ea2904a
test byte [0x10031064], 4
je case.0x100152d3.16323
mov eax, 0xaf1
cmp eax, eax
je 0x10015cd3
add eax, 0x3f
cmp eax, 0xaf1
jbe 0x10014d76
jmp case.0x100152d3.16323
in eax, dx
sub dword [edx + 0x4c], eax
invalid
mov eax, dword [0x1003107c]
shl eax, 0x10
push eax
push 0x10407
mov ecx, 0x10031058
call fcn.1000dbf0
add esp, 8
test byte [0x10031064], 4
je case.0x100152d3.16323
mov eax, 0xb04
cmp eax, eax
je 0x10015cd8
add eax, 0x1d
cmp eax, 0xb04
jbe 0x10014de0
jmp case.0x100152d3.16323
test byte [0x10031064], 4
je case.0x100152d3.16323
mov eax, 0x28e1
cmp eax, eax
je 0x10015cd8
add eax, 0x10
cmp eax, 0x28e1
jbe 0x10014e09
jmp case.0x100152d3.16323
jnp 0x10014e81
invalid
rcl dword [esi - 0x7b], cl
sub eax, 0x6405f6c7
adc byte [ebx], al
adc byte [esp + esi*2], al
cmp al, 0xb9
add al, 0x5d
add byte [eax], al
nop
mov eax, ecx
sub eax, 0x5d04
je 0x10014e6e
sub eax, 0x45
jne 0x10014e7b
dec edx
inc eax
sub eax, 0x448b4e03
add ecx, dword [esi - 0x75]
inc esp
mov eax, dword [esp + 0x14]
and al, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jle 0x10014e61
enter 0xffffffffffff906c, 0xffffffffffffffc7
inc esp
and al, 0x14
add ecx, 0x45
cmp ecx, 0x5d49
pop ebp
add byte [eax], al
jbe 0x10014e50
push 0x3b90100
jmp 0x10014c50
test byte [0x10031064], 4
je 0x10014eb0
mov eax, 0x2d2e
cmp eax, eax
je 0x10015ce2
add eax, 0x2f
cmp eax, 0x2d2e
jbe 0x10014ea0
mov edx, dword [0x1003107c]
shl edx, 0x10
push edx
push 0x1040d
mov ecx, 0x10031058
call fcn.1000dbf0
add esp, 8
jmp case.0x100152d3.16323
push 0x200
push 0x10410
mov ecx, 0x10031058
call fcn.1000dbf0
add esp, 8
test byte [0x10031064], 4
je case.0x100152d3.16323
mov eax, 0x487e
cmp eax, eax
je 0x10015cf1
add eax, 0x61
cmp eax, 0x487e
jbe 0x10014efc
jmp case.0x100152d3.16323
mov eax, esi
sub eax, 0x92c
je 0x10014f3a
sub eax, 0xf
jne case.0x100152d3.16323
or byte [ecx + edi*8], al
sbb al, 0xb5
push 0x100310a8
call fcn.10021d80
add esp, 4
jmp case.0x100152d3.16323
sar byte [eax], cl
mov esi, 0xd8178c0
test byte [eax], dl
add edx, dword [eax]
add byte [edx], al
add byte [eax], al
jmp case.0x100152d3.16323
mov dword [esp + 0x14], 0
jmp case.0x100152d3.16323
cmp esi, 0x3fb3
ja 0x100152bb
je 0x100152ab
cmp esi, 0x1dd0
ja 0x10014fe7
je 0x10014fd1
cmp esi, 0x1db2
ja 0x10014fb3
je 0x10014fa6
cmp esi, 0x959
je 0x10014e63
cmp esi, 0x1da3
jne case.0x100152d3.16323
mov dword [esp + 0x44], 0x24fffe00
jmp case.0x100152d3.16323
mov dword [esp + 0x48], 0x24f00000
jmp case.0x100152d3.16323
cmp esi, 0x1dc1
jne case.0x100152d3.16323
mov dh, bh
sbb dword [ebx], ebx
mov al, 0xc7
inc esp
and al, 0x3c
add byte [eax], al
add byte [eax], al
jmp case.0x100152d3.16323
adc bh, byte [ecx]
cmp al, 0x76
mov al, 0x8b
jl switch.0x10014ffd
inc esp
sub edi, dword [esp + 0x48]
mov dword [esp + 0x34], edi
jmp case.0x100152d3.16323
lea eax, [esi - 0x1ddf]
cmp eax, 0x2d
ja case.0x100152d3.16323
movzx eax, byte [eax + 0x10015f44]
jmp dword [eax*4 + 0x10015f30]
test ecx, ecx
jne 0x1001523b
mov esi, 0x5fab
cmp esi, 0x6044
ja 0x100151ab
je 0x1001519b
mov eax, esi
sub eax, 0x5fab
je 0x100150d6
sub eax, 0x33
je 0x1001506b
sub eax, 0x33
jne 0x10015227
add eax, 0x2f122427
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x64]
lea eax, [esp + 0xe4]
call fcn.10007dd0
add esp, 4
mov dword [esp + 0x7c], eax
jmp 0x10015227
leave
inc esp
insb byte es:[edi], dx
dec ebp
add dword [ecx + 0x1002ecc8], esp
mov edx, dword [str.payloads]
mov cl, byte [0x1002eccc]
mov dword [esp + 0x88], eax
xor eax, eax
mov dword [esp + 0x84], edx
lea edx, [esp + 0x60]
mov dword [esp + 0x8d], eax
mov dword [esp + 0x91], eax
mov dword [esp + 0x95], eax
mov byte [esp + 0x99], al
push edx
lea eax, [esp + 0x9e]
mov byte [esp + 0x90], cl
push eax
lea ecx, [esp + 0x8c]
push ecx
call fcn.1002d520
add esp, 0xc
jmp 0x10015227
mov edx, dword [ebp + 8]
mov eax, dword [edx]
test al, 0x20
je 0x100150ec
mov dword [esp + 0x1c], str.left_.bin
jmp 0x10015227
test al, 0x10
je 0x100150fd
mov dword [esp + 0x1c], 0x1002e1a4
jmp 0x10015227
test al, 0x40
je 0x1001510e
mov dword [esp + 0x1c], str.up_.bin
jmp 0x10015227
test al, al
jns 0x1001511f
mov dword [esp + 0x1c], str.down_.bin
jmp 0x10015227
test al, 8
je 0x10015130
mov dword [esp + 0x1c], str.start_.bin
jmp 0x10015227
test al, 2
je 0x10015141
mov dword [esp + 0x1c], str.b_.bin
jmp 0x10015227
test eax, 0x400
je 0x10015155
mov dword [esp + 0x1c], str.x_.bin
jmp 0x10015227
test eax, 0x800
je 0x10015169
mov dword [esp + 0x1c], str.y_.bin
jmp 0x10015227
test eax, 0x100
je 0x1001517d
mov dword [esp + 0x1c], str.r_.bin
jmp 0x10015227
test al, 1
je 0x1001518e
mov dword [esp + 0x1c], str.a_.bin
jmp 0x10015227
mov dword [esp + 0x1c], str.select_.bin
jmp 0x10015227
cmp dword [esp + 0x7c], 0
jne 0x10014e63
jmp 0x10015227
mov eax, esi
sub eax, 0x6077
je 0x10015207
sub eax, 0x33
je 0x100151dc
sub eax, 0x33
jne 0x10015227
mov ebp, 0xd369023b
mov ecx, dword [esp + 0x48]
push edi
lea eax, [esp + 0x64]
push eax
push ecx
call fcn.1000c330
add esp, 0xc
mov dword [esp + 0x3c], eax
jmp 0x10015227
push ss
aam 0x43
aad 0xb3
lea edx, [esp + 0x60]
push 0x1002e370
push edx
call fcn.10020e10
lea eax, [esp + 0xf2]
push eax
lea ecx, [esp + 0x6c]
push ecx
call fcn.10020e10
add esp, 0x10
jmp 0x10015227
mov bl, 0xf8
and eax, 0x848d977f
and al, 0x9c
add byte [eax], al
add al, ch
sbb dl, dh
add byte [eax], al
cmp word [esp + 0x104], 0
je 0x10014e63
add esi, 0x33
cmp esi, 0x60dd
jbe 0x10015011
jmp 0x10015cb3
mov edx, dword [ebp + 0x10]
mov eax, dword [esp + 0x48]
push edi
push edx
push eax
call fcn.1000c330
add esp, 0xc
mov dword [esp + 0x3c], eax
jmp case.0x100152d3.16323
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
push 1
mov dword [edx + 4], ecx
call sym.IT_Markt.dll_backupAndRestoreShaHash
add esp, 4
jmp case.0x100152d3.16323
and dh, bl
xor esp, eax
cmp al, ch
xchg dx, ax
invalid
cmp dword [esp + 0x3c], 0
je 0x10014e63
mov eax, dword [0x10031574]
mov ecx, dword [esp + 0x44]
push 0x421
push eax
push ecx
call fcn.1001c890
add esp, 0xc
jmp case.0x100152d3.16323
adc al, 2
and eax, 0x1c7bea0
add byte [eax], al
add byte [eax], al
jmp case.0x100152d3.16323
lea eax, [esi - 0x3fc2]
cmp eax, 0xb4
ja case.0x100152d3.16323
movzx eax, byte [eax + 0x10015fac]
jmp dword [eax*4 + 0x10015f74]
push ss
dec esp
bound edi, qword [edx + ecx*4]
dec esp
and al, 0x1b
test cl, 1
je 0x100152ff
mov eax, 0x10fd
cmp eax, eax
je 0x10015d00
add eax, 0x5d
cmp eax, 0x10fd
jbe 0x100152ef
cmp byte [edx], 0
je 0x10015caf
test cl, 4
je 0x10015caf
mov ecx, 0x5ecd
mov eax, ecx
sub eax, 0x5ecd
je 0x1001532a
sub eax, 0x49
je 0x10014e63
jmp 0x10015337
add ecx, dword [ecx + esi*4]
cmc
retf 0x44c7
add ecx, 0x49
cmp ecx, 0x5f16
jbe 0x10015316
jmp case.0x100152d3.16323
mov ecx, dword [esp + 0x54]
test ecx, ecx
jns 0x10015366
mov eax, 0x47a4
cmp eax, eax
je 0x10015d0c
add eax, 9
cmp eax, 0x47a4
jbe 0x10015356
mov ebx, dword [ecx*4 + 0x1003109c]
mov dword [esp + 0x20], ebx
jmp case.0x100152d3.16323
test ebx, ebx
jne 0x10015391
mov eax, 0x2a8c
cmp eax, eax
je 0x10015d18
add eax, 0xe
cmp eax, 0x2a8c
jbe 0x10015381
mov dword [ecx], ebx
jmp case.0x100152d3.16323
mov ecx, 0x18a7
mov eax, ecx
sub eax, 0x18a7
je 0x100153b1
sub eax, 0x3d
je 0x10014e63
jmp 0x100153b9
mov dword [esp + 0x14], 0
add ecx, 0x3d
cmp ecx, 0x18e4
jbe 0x1001539d
das
mov dword [0x5f6b9c2], eax
adc byte fs:[ebx], al
adc byte [esp + esi*2], al
mov ecx, 0x36c8
mov eax, ecx
sub eax, 0x36c8
je 0x100153f5
sub eax, 7
jne 0x100153fd
pop esp
jno 0x100153f6
push ebx
jecxz case.0x100152d3.16352
inc esp
and al, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x14], 0xffffffff
inc esp
and al, 0x14
add ecx, 7
cmp ecx, 0x36cf
jbe 0x100153d7
mov ecx, dword [0x1003107c]
shl ecx, 0x10
push ecx
push 0x10403
mov ecx, 0x10031058
call fcn.1000dbf0
add esp, 8
jmp case.0x100152d3.16323
mov dword [ebx + 0x18], 0
jmp case.0x100152d3.16323
or byte [eax], 0
add byte [edx + 0x6a], dl
push edx
push 0x7f
invalid
push edx
push 0x7f
imul ebx, dword [ebx], 0x6a
add byte [ebx + 0x2444c7cb], cl
push eax
add byte [eax], al
add byte [eax], al
sbb ebp, dword [edx]
mov ecx, ebx
mov dword [esp + 0x50], 0
call fcn.10021e50
add esp, 4
mov byte [esp + 0x13], al
jmp case.0x100152d3.16323
clc
fldcw word [ecx]
pop esp
inc esi
cmp byte [esp + 0x13], 2
jne 0x1001556f
mov ecx, dword [esp + 0x30]
mov edi, 0xd60
mov dword [esp + 0x58], edi
mov eax, edi
sub eax, 0xd60
je 0x100154ff
sub eax, 0x39
je 0x100154f0
sub eax, 0x39
jne 0x1001555c
cdq
cmp bl, byte [ebp - 0x1c]
sar byte [esi + 0x180a], 0x3b
div byte [ebp + 0x2e]
mov esi, 0x180a
cmp esi, esi
jne 0x100154cb
xor byte [esi], dh
jl 0x10015431
mov dword [ebx + 0xd08c84], ecx
add byte [eax], al
mov dword [esp + 0x4c], eax
test eax, eax
je 0x100154c6
mov eax, ss
add byte [eax], al
add byte [ecx - 0x7ab3dbbc], cl
sal byte [ebp + edx + 0x50], 0x8b
retf
push eax
mov ecx, ebx
call fcn.10021e50
mov ecx, dword [esp + 0x34]
add esp, 4
mov byte [esp + 0x13], al
jmp 0x100154cb
mov byte [esp + 0x13], 3
add esi, 0x53
cmp esi, 0x180a
jbe 0x1001549b
cmp byte [esp + 0x13], 2
jb 0x1001555c
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, 4
jb 0x10015494
jmp 0x1001555c
test ecx, ecx
je 0x1001555c
dec ecx
mov dword [esp + 0x30], ecx
jmp 0x1001555c
mov bh, 0x5f
and cl, ch
adc cl, byte [ebx + 0x3320247c]
fild dword [ecx + 0x1fec7]
add byte [esi + 0x1e0e], bh
mov esi, 0x1e0e
cmp esi, esi
jne 0x10015534
push edi
std
inc esi
int 0x9d
cmp byte [edi - 4], 0
je 0x1001552b
call fcn.1001ef40
jmp 0x1001552d
xor eax, eax
mov dword [esp + ebx*4 + 0xd0], eax
add esi, 0x64
cmp esi, 0x1e0e
jbe 0x10015517
inc ebx
add edi, 0x10
cmp ebx, 4
jb 0x10015510
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x30], 0
mov ecx, dword [esp + 0x30]
add edi, 0x39
mov dword [esp + 0x58], edi
cmp edi, 0xdd2
jbe 0x10015474
cmp byte [esp + 0x13], 4
jne 0x10015caf
mov eax, 0x3feb
cmp eax, eax
je 0x10015d29
add eax, 0x38
cmp eax, 0x3feb
jbe 0x10015581
jmp 0x10015caf
mov ax, word [0x100310f8]
mov dl, byte [esp + 0x13]
inc ax
mov byte [ebx], dl
mov word [0x100310f8], ax
mov word [ebx + 6], ax
jmp case.0x100152d3.16323
cmp byte [esp + 0x13], 2
jb 0x100155e7
mov ecx, 0x2071
nop
mov eax, ecx
sub eax, 0x2071
je 0x100155d4
sub eax, 0x3c
je 0x10014e63
jmp 0x100155dc
mov dword [esp + 0x14], 0xd
add ecx, 0x3c
cmp ecx, 0x20ad
jbe 0x100155c0
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
mov ebx, 0x74d8
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
cmp ebx, 0x7903
ja 0x100158c1
je 0x1001587b
cmp ebx, 0x76bd
ja 0x1001573c
je 0x1001572a
cmp ebx, 0x759a
ja 0x100156d8
je 0x100156cc
mov eax, ebx
sub eax, 0x74d8
je 0x10015679
sub eax, 0x61
jne 0x10015b83
mov byte [0x31125e2a], al
lea ecx, [esi + 0x4e]
call fcn.10021da0
movzx eax, ax
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10015b83
lea edi, [esi + 0x5c]
call fcn.1001ef40
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
jmp 0x10015b83
outsb dx, byte [esi]
mov byte [0x8d23d3b3], al
dec esi
inc ebx
call fcn.10021da0
mov ecx, 0x200
cmp ax, cx
je 0x10015b83
mov ecx, 0x165d
lea esp, [esp]
mov eax, ecx
sub eax, 0x165d
je 0x100156b4
sub eax, 0x57
je 0x10014e63
jmp 0x100156bc
mov dword [esp + 0x14], 0xd
add ecx, 0x57
cmp ecx, 0x16b4
jbe 0x100156a0
jmp 0x10015b83
mov edx, dword [esp + 0x28]
mov dword [esi + 0x20], edx
jmp 0x10015b83
mov eax, ebx
sub eax, 0x75fb
je 0x1001571f
sub eax, 0x61
jne 0x10015b83
mov cl, byte [esi + 2]
cmp cl, 1
je 0x1001570e
cmp cl, 2
je 0x1001570e
mov eax, 0x2114
cmp eax, eax
je 0x10015d3a
add eax, 0x41
cmp eax, 0x2114
jbe 0x100156fe
movzx eax, cl
imul eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
jmp 0x10015b83
mov cl, byte [esi + 0x48]
mov byte [esi + 2], cl
jmp 0x10015b83
js 0x100157a9
into
nop
fimul word [edi]
mov dh, 0x56
inc ebp
mov word [esi + 0xa], dx
jmp 0x10015b83
cmp ebx, 0x77e0
ja 0x100157e6
je 0x100157c9
mov eax, ebx
sub eax, 0x771e
je 0x10015791
sub eax, 0x61
jne 0x10015b83
test byte [esi + 8], 0xf
je 0x1001577d
mov eax, 0x1c25
cmp eax, eax
je 0x10015d50
add eax, 0x61
cmp eax, 0x1c25
jbe 0x1001576d
lea ecx, [esi + 0x4b]
call fcn.10021da0
movzx eax, ax
mov dword [esp + 0x40], eax
jmp 0x10015b83
movzx eax, word [esi + 0xa]
test ax, ax
je 0x100157a1
lea ecx, [eax - 1]
test eax, ecx
je 0x100157b8
mov eax, 0x13cc
cmp eax, eax
je 0x10015d4b
test byte [ebp - 0x7cfffffb], bl
shr byte [0x13cc3d], 0
add eax, 0x2d
cmp eax, 0x13cc
jbe 0x100157a8
lea ecx, [esi + 0x49]
call fcn.10021da0
mov word [esi + 8], ax
jmp 0x10015b83
test eax, eax
jne 0x10015b83
lea edi, [esi + 0x58]
call fcn.1001ef40
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x40], eax
jmp 0x10015b83
mov eax, ebx
sub eax, 0x7841
je 0x10015818
sub eax, 0x61
jne 0x10015b83
test al, 0x80
xor esi, dword [ebx]
dec ebx
movzx edx, word [esi + 8]
movzx eax, word [esp + 0x5c]
shr edx, 4
add edx, dword [esp + 0x28]
add eax, edx
mov dword [esp + 0x50], eax
jmp 0x10015b83
xlatb
push 0xfffffffffffffff8
mov al, byte [0x464e8d78]
call fcn.10021da0
movzx eax, ax
mov dword [esp + 0x5c], eax
pop esp
test ax, ax
jne 0x10015b83
mov ecx, 0x7ad
lea ebx, [ebx]
mov eax, ecx
sub eax, 0x7ad
je 0x1001585e
sub eax, 0x46
jne 0x1001586b
mov ebx, dword [eax + edi + 0x52]
in al, dx
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
adc byte [ecx - 0x38cb3b45], 0x44
and al, 0x14
or eax, 0x83000000
rol dword [esi - 0x7f], 0xf9
pop es
add byte [eax], al
add ecx, 0x46
cmp ecx, 0x7f3
jbe 0x10015840
jmp 0x10015b83
add dword [edi + ebp*4 + 4], ebx
salc
cmp eax, edx
jae 0x10015b83
mov ecx, 0x59b
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x59b
je 0x100158a4
sub eax, 0x39
je 0x10014e63
jmp 0x100158b1
loope 0x1001582b
mov al, 0x32
and edi, eax
inc esp
and al, 0x14
or eax, 0x83000000
sar dword [ecx], 0x81
stc
aam 5
add byte [eax], al
add ecx, 0x39
cmp ecx, 0x5d4
jbe 0x10015890
jmp 0x10015b83
cmp ebx, 0x7b49
ja 0x100159c3
je 0x100159bb
cmp ebx, 0x7a26
ja 0x1001597d
je 0x10015960
mov eax, ebx
sub eax, 0x7964
je 0x10015942
sub eax, 0x61
jne 0x10015b83
cmp dword [esp + 0x38], eax
jne 0x10015938
mov ecx, 0x3394
mov eax, ecx
sub eax, 0x3394
je 0x10015920
sub eax, 0x64
jne 0x1001592d
test eax, 0xab4f802d
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [0x1dbeee94], al
mov dword [esp + 0x14], 0xd
add ecx, 0x64
cmp ecx, 0x33f8
jbe 0x10015902
mov byte [esp + 0x13], 3
jmp 0x10015b83
out 0xf8, eax
lodsd eax, dword [esi]
outsb dx, byte [esi]
add ecx, dword [ebx + 0xf402444]
mov bh, 0x4e
or ch, byte [ebx]
inc esp
and al, 0x50
xor edx, edx
div ecx
mov dword [esp + 0x38], eax
jmp 0x10015b83
nop
add eax, 0x8171ab7b
jl 0x1001598c
cmp ch, dh
inc dword [eax]
add byte [edi], cl
xchg dword [eax], edx
add al, byte [eax]
add dh, al
inc esp
and al, 0x13
add ch, cl
push es
add al, byte [eax]
add byte [ebx + 0x7a872dc3], cl
add byte [eax], al
mov eax, ebx
sub eax, 0x7a87
je 0x100159a3
sub eax, 0x61
jne 0x10015b83
add dword [eax], eax
add byte [edx + 0x6bd7a27e], dh
mov edx, dword [esp + 0x38]
mov dl, 0x7e
mov byte [0x548b6bd7], al
and al, 0x38
add edx, 2
mov dword [esi + 0x1c], edx
jmp 0x10015b83
cmp dword [esp + 0x38], 0xff5
ja 0x10015b83
mov byte [esp + 0x13], 1
jmp 0x10015b83
mov dword [esi + 0x24], ecx
jmp 0x10015b83
cmp ebx, 0x7c6c
ja 0x10015b77
je 0x10015b29
mov eax, ebx
sub eax, 0x7baa
je 0x10015b13
sub eax, 0x61
jne 0x10015b83
push 0x2008d96b
cmp byte [esp + 0x13], 3
jne 0x10015a97
mov edi, dword [esp + 0x20]
mov esi, 0xaed
mov eax, esi
sub eax, 0xaed
je 0x10015a34
sub eax, 2
jne 0x10015a7b
mov edi, dword [esp + 0x20]
add edi, 0x64
call fcn.1001ef40
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x2c], eax
mov eax, dword [ecx + 0x1c]
add eax, eax
add eax, eax
mov dword [esp + 0x2c], eax
mov edi, ecx
jmp 0x10015a7b
invalid
add esi, 2
cmp esi, 0xaef
jbe 0x10015a04
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
jmp 0x10015b83
mov edx, dword [esp + 0x28]
mov ecx, 0x27a8
mov eax, ecx
sub eax, 0x27a8
je 0x10015ae0
sub eax, 0x19
jne 0x10015b03
pop edx
arpl word [ebp - 0x65], bp
xor eax, 0x328468b
ret 0x7c80
loope 0x10015afe
mov edx, 0x836613fc
jle 0x10015af1
add byte [ebp + 0x17], dh
mov eax, 0x674d
cmp eax, eax
je 0x10015d6d
add eax, 0x5e
cmp eax, 0x674d
add byte [bx + si], al
jbe 0x10015af3
add ecx, 0x19
cmp ecx, 0x27c1
jbe 0x10015aa0
jmp 0x10015b83
push ebx
mov cl, 0x44
xchg edx, eax
and byte [edi], cl
mov bh, 0x44
and al, 0x5c
add eax, ecx
add edx, ecx
mov dword [esi + 0x28], eax
mov dword [esi + 0x30], edx
jmp 0x10015b83
lea ecx, [edi + 0x1ff]
shr ecx, 9
cmp dword [esi + 0x20], ecx
jae 0x10015b6c
mov ecx, 0x5687
lea esp, [esp]
mov eax, ecx
sub eax, 0x5687
je 0x10015b54
sub eax, 6
je 0x10014e63
jmp 0x10015b61
or eax, 0xeb983303
cli
mov dword [esp + 0x14], 0xd
add esi, dword [ebx]
cwde
jmp 0x10015b53
add ecx, 6
cmp ecx, 0x568d
jbe 0x10015b40
or eax, 0xffffffff
mov dword [esi + 0x14], eax
mov dword [esi + 0x10], eax
jmp 0x10015b83
cmp ebx, 0x7ccd
jne 0x10015b83
mov byte [esi + 4], 0x80
add ebx, 0x61
cmp ebx, 0x7ccd
jbe 0x100155f4
mov ebx, dword [esp + 0x20]
jmp 0x10015caf
jle 0x10015bac
jecxz 0x10015c05
pop esi
movzx edx, byte [ebx + 1]
push edx
call fcn.10029a90
add esp, 4
mov byte [esp + 0x1b], al
add al, 0x88
inc esp
and al, 0x1b
jmp case.0x100152d3.16323
mov al, byte [esp + 0x54]
mov byte [ebx], 0
mov byte [ebx + 1], al
jmp case.0x100152d3.16323
mov ecx, dword [ebp + 8]
push ecx
call fcn.1001c1f0
add esp, 4
mov dword [esp + 0x54], eax
jmp case.0x100152d3.16323
and byte [edx], 0xfe
cmp byte [ebx], 0
je case.0x100152d3.16323
mov esi, 0x1da4
mov eax, esi
sub eax, 0x1da4
je 0x10015c8f
sub eax, 0x3f
jne 0x10015ca0
test al, dl
rcr byte [edi + 0x2444f605], 1
sbb eax, dword [ecx]
jne 0x10015ca0
add eax, 0x1b2444f6
add dword [edi], ecx
test dword [edi - 0x75000000], ecx
jl 0x10015c38
mov edi, dword [esp + 0x14]
mov edx, 0x554a
adc al, 0xba
dec edx
push ebp
add byte [eax], al
mov eax, edx
sub eax, 0x554a
je 0x10015c36
sub eax, 0x54
jne 0x10015c82
cmc
dec eax
invalid
in eax, 0x57
fucomp st(1)
stosb byte es:[edi], al
mov eax, dword [ebp + 0x14]
cmp byte [eax], 0
je 0x10015c7c
test byte [esp + 0x1b], 4
je 0x10015c7c
mov ecx, 0x1b71
nop
mov eax, ecx
sub eax, 0x1b71
je 0x10015c6c
sub eax, 0x3f
jne 0x10015c71
or al, 0xf8
loopne 0x10015c65
sub al, 0x8b
invalid
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 0xa
add ecx, 0x3f
cmp ecx, 0x1bb0
jbe 0x10015c50
xor edi, edi
mov dword [esp + 0x14], edi
add edx, 0x54
cmp edx, 0x559e
jbe 0x10015c1a
jmp 0x10015ca0
movzx ecx, byte [ebx + 1]
push ecx
call fcn.10020d00
add esp, 4
mov byte [esp + 0x1b], al
sbb eax, dword [ebx - 0x17ec03a]
jecxz 0x10015cc4
add esi, 0x3f
cmp esi, 0x1de3
add byte [eax], al
jbe 0x10015beb
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
add esi, 0xf
mov dword [esp + 0x24], esi
cmp esi, dword [esp + 0x78]
jbe 0x10014b12
dec edx
out dx, al
invalid
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jb 0x10015c93
aam 0xe1
aaa
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop es
cmp eax, 0x8356ebf5
enter 0x5fff, 0x5e
pop ebx
mov esp, ebp
pop ebp
ret
pop esi
mov byte [0x83283254], al
enter 0x5fff, 0x5e
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop ds
jle 0x10015c9f
mov ebp, 0xcb84f
add byte [eax], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
in eax, 0x5d
ret
outsd dx, dword [esi]
push ds
aaa
mov dl, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lodsb al, byte [esi]
fiadd word [edx]
in eax, 0xab
mov eax, 0xd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jecxz 0x10015d26
mov eax, dword [0xdb86e4f]
add byte [eax], al
add byte [edi + 0x5e], bl
mov eax, 0xd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x5f22225e
pop esi
mov eax, 0xd
pop ebx
mov esp, ebp
pop ebp
ret