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

Disassembly:
push 7
pop edx
push 0x70
pop eax
movzx ecx, word [esi]
mov di, cx
mov dword [ebp - 4], ecx
cmp di, word [ebp - 8]
jae 0x408c5b
cmp di, 0x6e
je 0x408d33
cmp di, 0x6f
outsd dx, dword [esi]
je 0x408d33
cmp di, ax
je 0x408d33
movzx ecx, di
cmp ecx, eax
jg 0x408ce6
je 0x47e8dc
cmp ecx, 0x5d
jg 0x408d15
cmp ecx, 0x5b
jge 0x47e8c1
test ecx, ecx
je 0x408d10
cmp ecx, 0x54
jg 0x408d5f
movzx eax, byte [ecx + 0x49e560]
push 7
pop edx
push 0x70
lea esi, [esi + eax*2]
pop eax
test ebx, ebx
je 0x408baf
lea eax, [ecx - 0x1d]
push 0x70
cmp eax, 0x37
pop eax
ja 0x408baf
mov ax, word [esi - 2]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xd800
push 0x70
cmp ax, cx
pop eax
jne 0x408baf
add esi, 2
jmp 0x408ba9
cmp di, word [ebp - 0xc]
ja 0x408bc2
call fcn.0041d8de
push 0x21
pop ecx
sub cx, ax
add di, cx
cmp di, 0x28
ja 0x408de3
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov edx, ebx
push dword [eax + 4]
mov ecx, esi
call fcn.0041d71e
pop ecx
pop ecx
push 0x21
pop ecx
cmp di, cx
je 0x408dea
cmp di, 0x23
je 0x408dea
cmp di, 0x25
je 0x408dea
cmp di, 0x27
je 0x408dea
xor ecx, ecx
mov dword [ebp - 0x28], ecx
test eax, eax
je case.default.0x408dcd
push eax
lea ecx, [ebp - 0x2c]
push ecx
push dword [ebp + 8]
mov edx, ebx
mov ecx, eax
call fcn.0041d459
add esp, 0xc
test eax, eax
je case.default.0x408dcd
jmp 0x47e875
mov eax, ecx
sub eax, 0x95
je 0x47e8dc
dec eax
dec eax
je 0x47e8dc
dec eax
dec eax
je 0x47e8dc
dec eax
dec eax
jne 0x408c13
jmp 0x47e8dc
pop edi
pop esi
pop ebx
leave
ret
cmp ecx, 0x5e
jl 0x408c13
cmp ecx, 0x60
jle 0x408d68
push 0x61
pop eax
cmp ecx, eax
jne 0x408c13
jmp 0x47e8c1
cmp di, ax
je 0x47e8b5
lea edi, [esi + 0x22]
movzx eax, word [edi]
mov dword [ebp - 4], eax
add eax, 0xffffff9e
cmp ax, dx
jbe 0x408d88
movzx eax, word [esi]
mov dword [ebp - 4], eax
mov di, word [ebp - 4]
push 0x70
pop eax
jmp 0x408bdf
cmp ecx, 0x5a
jg 0x408c13
movzx eax, word [esi + 2]
push 0x10
pop edx
cmp ax, dx
je 0x408d80
push 0xf
pop edx
cmp ax, dx
jne 0x408c13
add esi, 4
jmp 0x408c13
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp + 8]
mov edx, ebx
push dword [eax + 4]
mov ecx, esi
call fcn.0041d71e
mov cl, byte [ebp - 4]
not cl
movzx ecx, cl
and ecx, 1
mov dword [ebp - 0x28], ecx
push eax
lea ecx, [ebp - 0x2c]
push ecx
push dword [ebp + 8]
jne 0x408db9
mov edx, ebx
mov ecx, eax
call fcn.0041d459
add esp, 0x14
test eax, eax
add byte [ebx - 0x3f7aeb3c], al
je case.default.0x408dcd
movzx eax, word [ebp - 4]
add eax, 0xffffff9e
cmp eax, 7
ja case.default.0x408dcd
jmp dword [eax*4 + 0x408dfa]
push 0x6a
pop eax
mov word [edi], ax
jmp case.default.0x408dcd
push 0x6c
jmp 0x408dd6
xor eax, eax
jmp 0x408c92
xor ecx, ecx
inc ecx
jmp 0x408cbe
push 0x6b
jmp 0x408dd6
push 0x6d
jmp 0x408dd6
inc eax
mov dword [ebx], eax
mov eax, dword [ebp + 0x18]
cmp eax, dword [ebx + 8]
jae 0x48b86f
cmp dword [ebx + 0x9c], 2
je 0x48329b
lea esp, [esp]
movzx ecx, word [edi]
xor edx, edx
mov esi, ecx
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], edx
cmp esi, 0xa1
ja case.0x40a384.98
movzx eax, byte [esi + 0x40ae7c]
jmp dword [eax*4 + 0x40ad30]
cmp esi, 0x88
jae 0x489938
cmp esi, 0x81
je 0x489938
cmp dword [ebx + 0x70], 0
jne 0x40ac56
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
je 0x40ac56
movzx eax, word [edi]
mov bh, 7
movzx eax, byte [eax + 0x49e560]
lea edi, [edi + eax*2]
mov dword [ebp - 0x34], edi
mov eax, dword [ebx + 0x50]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
cmp eax, dword [ebx + 4]
jb 0x40a340
jmp 0x48b879
movzx eax, word [edi + 2]
add eax, eax
mov esi, edi
sub esi, eax
mov ecx, 0x88
movzx eax, word [esi]
mov dword [ebp - 0x20], esi
cmp ax, cx
jae 0x483ec2
mov ecx, 0x81
cmp ax, cx
je 0x483ec2
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp eax, 0x7d
jb 0x40a42b
mov edx, 0x80
cmp ax, dx
jbe 0x489acd
mov edx, 0x82
cmp ax, dx
je 0x489acd
mov edx, 0x85
cmp ax, dx
je 0x40a7d5
mov edx, 0x8a
cmp ax, dx
je 0x40a7d5
mov edx, 0x86
cmp ax, dx
je 0x40a7d5
mov edx, 0x8b
cmp ax, dx
je 0x40a7d5
mov edx, dword [ebp + 0xc]
cmp word [edi], 0x78
jne 0x483f38
mov eax, 0x81
cmp word [esi], ax
je 0x489a9a
add edi, 4
mov dword [ebp - 0x34], edi
jmp 0x40a360
mov edx, dword [ebp - 8]
mov edi, dword [ebp + 8]
cmp edx, edi
je 0x48b815
mov eax, dword [ebp + 0xc]
mov dword [ebx + 0x84], edx
add byte [eax], al
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x80], edi
test esi, esi
jne 0x48b85b
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, word [edi + 0x22]
lea eax, [edi + 2]
add edi, 0x22
mov dword [ebp - 0x38], eax
mov eax, ecx
mov dword [ebp - 0x34], edi
inc edi
add al, byte [ebx + 0x458922c7]
enter 0xffffffffffffc18b, 0xffffffffffffff89
jge 0x40a4ac
mov dword [ebp - 0xc], eax
cmp eax, 0x6d
jle 0x40abae
mov eax, 1
mov dword [ebp - 0x18], 1
add byte [eax], al
add bh, al
inc ebp
call 0x40a4f9
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], 1
test ecx, ecx
je 0x485164
cmp eax, 1
jl 0x40ac0c
mov ecx, dword [ebx + 0x7c]
lea esp, [esp]
mov eax, dword [ebp - 8]
cmp eax, ecx
jae 0x40aba5
ror dword [edi], 0x83
jp 0x40a52f
add byte [eax], al
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
rol byte [edx], 0x89
inc ebp
clc
mov eax, ecx
and eax, 0xfc00
mov dword [ebp - 0x2c], ecx
cmp eax, 0xd800
je 0x48512e
cmp ecx, 0xff
ja 0x485156
mov ebx, dword [ebp - 0x38]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x2c]
shr ecx, 3
test byte [ecx + ebx], al
mov ebx, dword [ebp + 0x10]
jne 0x40a681
add byte [eax], al
add bl, dl
loopne 0x40a4ee
dec ebp
aam 0xc1
jmp 0x1945296e
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 0x7c]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], esi
cmp eax, esi
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x40a5ae
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x484e68
test al, 7
add byte [ebx - 0x1d7c663f], cl
jg 0x40a5b8
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
ret 0xf8c1
pop es
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x40a5d0
dec ecx
or ecx, 0xffffff80
inc ecx
add eax, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx eax, byte [eax*8 + 0x4ab10a]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 8]
or dh, ah
dec ecx
add byte [edi], cl
mov dh, 4
lds ecx, [edx]
mov cl, 0x4a
add byte [ecx + 0x458bd445], cl
clc
cmp eax, esi
jae 0x40a669
mov edi, dword [ebp - 0x1c]
mov ebx, eax
movzx ecx, word [ebx]
mov esi, 1
test edi, edi
je 0x40a60f
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x484e8d
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
sar eax, 7
movzx eax, byte [eax + 0x4ac4a0]
shl eax, 7
and ecx, 0x8000007f
jns 0x40a631
dec ecx
or ecx, 0xffffff80
inc ecx
mov edx, dword [ebp - 0x2c]
add eax, ecx
movzx eax, word [eax*2 + 0x49e608]
movzx ecx, byte [eax*8 + 0x4ab10a]
mov eax, 1
shl eax, cl
test dword [edx*4 + 0x49e52c], eax
jne 0x40a74d
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x34]
mov dword [ebp - 8], ebx
mov ebx, dword [ebp + 0x10]
mov eax, dword [ebp - 8]
cmp dword [ebx + 0x8c], 0
jne 0x484eb1
add edi, 2
mov dword [ebp - 0x34], edi
jmp 0x40a360
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebx + 0x7c]
inc eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x28]
jle 0x40a520
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
cmp dword [ebp - 0x28], ebx
mov ebx, dword [ebp + 0x10]
je 0x40a360
test edx, edx
jne 0x489c6e
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
test ecx, ecx
je 0x485240
cmp edx, dword [ebp - 0x18]
jge 0x40a718
mov dword [ebp - 0x2c], 1
cmp eax, dword [ebx + 0x7c]
jae 0x48520e
movzx ecx, word [eax]
mov eax, ecx
and eax, 0xfc00
shl dword [0xfc00], 0x89
dec ebp
loopne 0x40a71f
cld
add byte [eax], al
mov dword [ebp - 0x20], ecx
cmp eax, 0xd800
add al, bl
add byte [eax], al
je 0x4851d4
cmp ecx, 0xff
ja 0x485200
shr dword [ebp - 0x20], 3
insd dword es:[edi], dx
loopne 0x40a6ff
mov ebx, dword [ebp - 0x20]
and ecx, 7
mov eax, 1
shl eax, cl
mov ecx, dword [ebp - 0x38]
test byte [ebx + ecx], al
mov ebx, dword [ebp + 0x10]
jne 0x40acd9
cmp dword [ebp - 0x30], 0
jne 0x40a360
cld
invalid
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
mov edx, edi
push ebx
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
jmp 0x489c24
lea ebx, [ebx + esi*2]
sbb al, 0x73
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x2c], ecx
cmp ebx, esi
jb 0x40a5f1
jmp 0x40a65d
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
cmp dword [ebp - 0x1c], edx
je 0x48565a
movzx esi, word [edi + 2]
add edi, 2
mov eax, esi
and eax, 0xfc00
mov edx, 1
cmp eax, 0xd800
je 0x4855aa
mov eax, dword [ebp - 8]
movzx ecx, word [eax]
cmp esi, 0x80
jae 0x4855ce
cmp ecx, 0xff
ja 0x40a7b7
mov eax, dword [ebx + 0x3c]
movzx ecx, byte [eax + ecx]
mov eax, dword [ebx + 0x3c]
movzx eax, byte [eax + esi]
cmp eax, ecx
jne case.0x40a384.157
add edi, 2
add dword [ebp - 8], 2
mov dword [ebp - 0x34], edi
jmp 0x40a360
movzx edx, word [esi + 4]
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
mov eax, dword [ebx + 0xa8]
test eax, eax
jne 0x483ed2
mov eax, dword [ebx + 0x94]
mov esi, dword [ebp - 0x40]
and eax, 0xffff0000
or eax, edx
mov dword [ebx + 0x94], eax
cmp esi, dword [ebx + 0x14]
mov esi, dword [ebp - 0x20]
jge 0x483ef7
mov ecx, dword [ebp + 0xc]
cmp dword [ebp - 0x40], ecx
jg 0x483f07
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0xc]
sub eax, edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [ebx + 0x78]
mov eax, dword [ebx + 0xc]
sar ecx, 1
mov dword [eax + edx*4 + 4], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x14]
cmp edx, eax
jg 0x40a474
lea edx, [eax + 2]
mov dword [ebp + 0xc], edx
jmp 0x40a474
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0x7c]
jae 0x40ab94
movzx ecx, word [eax]
add eax, 2
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 8], eax
cmp dword [ebp - 0x1c], edx
je 0x40a886
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
je 0x484c33
fadd dword [eax]
add byte [edi], cl
test byte [ebp - 0x74fff85d], ch
rcr dword [ecx + 0x37fe283], 0xc2
mov eax, ecx
cdq
and edx, 0x7f
add eax, edx
mov edx, dword [ebp - 0x2c]
sar eax, 7
movzx ecx, byte [eax + 0x4ac4a0]
mov eax, edx
shl ecx, 7
and eax, 0x8000007f
jns 0x40a8ac
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [edi + 2]
movzx ecx, word [ecx*2 + 0x49e608]
cmp eax, 9
jne 0x484c5b
movzx eax, word [edi + 4]
mov ecx, dword [eax*4 + 0x4ae6a0]
lea eax, [eax*4 + 0x4ae6a0]
cmp edx, ecx
jb 0x484e5a
lea ecx, [ecx]
lea eax, [eax + 4]
cmp edx, ecx
je 0x40a8f2
mov ecx, dword [eax]
cmp edx, ecx
jae 0x40a8e0
jmp 0x484e5a
cmp esi, 0x10
jne case.0x40a384.157
add edi, 6
mov dword [ebp - 0x34], edi
jmp 0x40a360
cmp dword [ebp - 0x1c], edx
je 0x48557b
mov ax, word [edi + 2]
add edi, 2
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xd800
mov esi, 1
mov dword [ebp - 0x34], edi
cmp ax, cx
je 0x40ad1e
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp - 8]
sub eax, edx
sar eax, 1
cmp esi, eax
jg 0x489eca
test esi, esi
jle 0x40a360
mov edi, edi
mov cx, word [edi]
mov ax, word [edx]
add edx, 2
add edi, 2
dec esi
mov dword [ebp - 8], edx
mov dword [ebp - 0x34], edi
cmp cx, ax
jne case.0x40a384.157
test esi, esi
jle 0x40a360
jmp 0x40a950
movzx edx, word [edi + 4]
mov dword [ebp - 0xc], edx
lea eax, [edx + edx]
mov dword [ebp - 0x40], eax
cmp eax, dword [ebx + 0x14]
jge case.0x40a384.129
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebp - 0x40]
mov eax, dword [ecx + eax*4]
mov dword [ebp - 0x20], eax
mov eax, dword [ecx + edx*4 + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebx + 0x10]
sub eax, dword [ebp - 0xc]
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
sub eax, dword [ebx + 0x78]
sar eax, 1
mov dword [ecx], eax
lea esp, [esp]
cmp esi, 0x88
lea eax, [esi - 0x55]
add edi, 2
test al, 1
je 0x40ad28
mov edx, 1
movsx ecx, byte [eax + 0x49e47c]
movsx eax, byte [eax + 0x49e520]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x40aa63
mov dword [ebp - 0x24], 0x7fffffff
movzx eax, word [edi]
add edi, 2
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], edi
cmp eax, 0x10
je 0x48650e
cmp eax, 0xf
je 0x486505
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
test ecx, ecx
jg 0x48652a
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x24]
cmp dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x30]
je 0x40a360
test edx, edx
mov edx, dword [ebp - 0x2c]
je 0x487d66
test edx, edx
jns 0x48a2e0
cmp dword [ebp - 0x28], 0x16
mov edx, edi
je 0x48ac56
test byte [ebx - 0x7afff7ff], dl
ror byte [ebx - 0x7bf0e7bb], 0x90
push es
or byte [eax], al
test eax, eax
mov eax, dword [ebp + 0x18]
je 0x48b15e
inc eax
push eax
push dword [ebp + 0x14]
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
mov esi, dword [ebp - 8]
lea ecx, [ecx]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [ebp - 0x24]
jge case.0x40a384.157
dec ebp
fmul qword [edi]
lea edi, [eax - 6]
invalid
mov edx, dword [ebx + 0x7c]
cmp esi, edx
jae 0x489eb2
cmp dword [ebp - 0x28], 0xc
jne 0x40ab37
cmp dword [ebx + 0x18], 0
je 0x48ae0f
push dword [ebp - 0x1c]
lea eax, [ebx + 0x1c]
push eax
push edx
mov edx, dword [ebx + 0x18]
mov ecx, esi
call fcn.00408ffe
add esp, 0xc
test eax, eax
jne case.0x40a384.157
mov ecx, dword [ebp - 0x10]
movzx edx, word [esi]
mov eax, edx
and eax, 0xfc00
add esi, 2
cmp eax, 0xd800
je 0x48ae48
mov eax, dword [ebp - 0x28]
cmp eax, 0xc
jne 0x48ae69
cmp dword [ebx + 0x8c], 0
jne 0x48b11c
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
inc ecx
push ebx
push dword [ebp + 0xc]
mov dword [ebp - 0x10], ecx
push dword [ebp + 8]
mov edx, edi
mov ecx, esi
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
jmp 0x40aaf0
cmp dword [ebx + 0x8c], edx
je case.0x40a384.157
jmp 0x489c19
cmp dword [ebx + 0x8c], 0
jmp 0x40ab9a
sub eax, 0x62
cmp eax, 0xb
ja case.default.0x40abc1
movzx eax, byte [eax + 0x40af28]
jmp dword [eax*4 + 0x40af20]
mov ecx, dword [ebp - 0xc]
add ecx, 0xffffff9e
add edi, 2
mov dword [ebp - 0x34], edi
cmp ecx, 8
jb 0x40accd
hlt
mov dword [ebp - 0x30], 1
movsx eax, byte [ecx + 0x49e47c]
movsx ecx, byte [ecx + 0x49e520]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], ecx
test ecx, ecx
jne 0x40a4fb
mov dword [ebp - 0x18], 0x7fffffff
jmp 0x40a4fb
mov eax, dword [ebp - 8]
jmp 0x40a69a
movzx eax, word [edi + 2]
cmp word [edi + eax*2], 0x77
lea edi, [edi + eax*2]
je case.0x40a384.119
mov dword [ebp - 0x34], edi
jmp 0x40a360
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 8]
inc eax
push eax
push dword [ebp + 0x14]
add edi, 2
push ebx
push dword [ebp + 0xc]
mov edx, edi
push dword [ebp + 8]
call fcn.0040a300
add esp, 0x14
test eax, eax
jne 0x40a4c7
jmp 0x483bb0
mov eax, dword [ebx + 0xb0]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebx + 0x94]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
inc eax
push eax
push dword [ebp + 0x14]
movzx eax, word [edi]
push ebx
movzx eax, byte [eax + 0x49e560]
push dword [ebp + 0xc]
lea edx, [edi + eax*2]
push dword [ebp + 8]
call fcn.0040a300
mov edx, eax
add esp, 0x14
cmp edx, 0xfffffc20
je 0x489947
test edx, edx
jne 0x48b58b
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0xb0], eax
cmp word [edi], 0x77
jne case.0x40a384.157
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
jmp case.0x40a384.129
test cl, 1
jne 0x40ad14
xor edx, edx
jmp 0x40abe4
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x2c]
inc edx
lea eax, [eax + ecx*2]
mov dword [ebp - 8], eax
cmp edx, dword [ebp - 0x18]
jge 0x40a718
jmp 0x40a6c4
mov dword [ebp - 0x20], edx
jmp 0x483c44
add edi, 2
jmp 0x483c09
mov eax, dword [ebp - 8]
jmp 0x483fd0
mov esi, dword [ebp - 0x1c]
jmp 0x4845e5
mov edx, 1
jmp 0x40abe4
mov esi, 2
jmp 0x40a934
xor edx, edx
jmp 0x40aa41
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x11c
mov eax, dword [0x4c221c]
add byte [ebx + 0x56], dl
push edi
mov dword [esp + 0x14], ecx
test al, 1
je 0x4113cf
mov edi, dword [ebp + 0x10]
xor eax, eax
push 8
mov word [esp + 0x60], 1
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], eax
mov word [esp + 0x30], 1
call fcn.0041f4ea
mov ebx, eax
add esp, 4
mov dword [esp + 0x34], eax
test ebx, ebx
je 0x41150c
mov dword [ebx], 0x14
mov esi, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov ecx, dword [esi]
mov dword [ebx + 4], 0
mov eax, dword [edx + 4]
mov dword [esp + 0x58], ebx
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x54], 1
movsx eax, word [eax + 0xa]
mov dword [esp + 0x18], 0x17
mov dword [esp + 0x64], eax
jmp 0x40ff3b
out dx, eax
mov dword [0x20680006], eax
and cl, byte [eax + eax - 0x75]
iretd
cmp eax, 0x4c20f9
add byte [edi], cl
test dword [0x358b0006], edx
hlt
add ah, byte [esi + 0x3b]
add dword [ebp + 0x10], esi
add byte [esi + edi - 0x7d], dh
jg 0x410376
add al, 0xf
test byte [ebx + 4], bl
add byte [eax], al
or al, 1
add byte [eax], al
add byte [ecx + 0xc758b06], cl
invalid
and al, 0x10
test byte [edi], 0x85
rol dword [eax + eax], 1
add byte [ebx + 0x74890c55], cl
and al, 0x6c
add eax, 0x89548d0f
push es
add byte [eax + 0x20], ch
and cl, byte [eax + eax - 0x75]
iretd
invalid
or al, 0xff
or byte [ebx + 0x38830c41], cl
add byte [edi], cl
test byte [ecx + eax], al
inc esp
add dword [eax], eax
add byte [ecx - 0x18], dl
popfd
jecxz 0x4111c0
add byte [ebx + 0x43c704c4], al
or byte [eax], al
add byte [eax], al
add cl, ch
invalid
cmp dword [eax + 8], 0x40