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

Disassembly:
adc al, 0
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x11c
mov eax, dword [0x4c221c]
push ebx
push esi
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
sub al, 0x66
mov dword [esp + 0x30], 0x6ce80001
test byte [eax], 0
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
mov byte [esp + 0x1f], 1
cmp byte [esp + 0x1f], 0
mov eax, dword [esi]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [esp + 0x40]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x18], eax
mov ecx, dword [esi]
mov eax, dword [0x4c2210]
mov dword [ecx + 0x18], eax
mov ecx, dword [esi]
mov eax, dword [0x4c220c]
mov dword [ecx + 0x1c], eax
je 0x4103fb
mov eax, dword [esi]
test eax, eax
je 0x4103fb
mov eax, dword [eax + 0x14]
test eax, eax
je 0x4103fb
push dword [esp + 0x6c]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x18]
inc dword [esi]
push eax
push esi
push dword [ebp + 8]
call fcn.00411820
test eax, eax
js 0x47a7ef
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi]
cmp ecx, eax
je case.0x41104b.4
mov esi, dword [edx + 4]
mov edx, dword [esi + ecx*4]
movzx eax, word [edx + 8]
cmp ax, 0x7f
je case.0x41104b.4
cwde
cmp eax, 0x33
je 0x410002
cmp eax, 0x4f
je case.0x41104b.4
cmp eax, 5
je 0x41034b
cmp eax, 0x58
ja case.0x41104b.4
movzx eax, byte [eax + 0x41162c]
jmp dword [eax*4 + 0x4115c0]
and al, 0x85
rcl byte [0x28b0041], 0x83
mov eax, dword [edx]
cmp eax, 4
invalid
invalid
mov eax, dword [edx]
cmp eax, 4
jl 0x41103a
cmp eax, 0x27
jge 0x41103a
mov esi, 0x14
mov dword [esp + 0x18], esi
lea esp, [esp]
mov cl, byte [esp + 0x5d]
test cl, cl
jne 0x410534
mov eax, ebx
mov eax, dword [eax]
imul eax, eax, 0x15
movzx eax, byte [eax + esi + 0x4bbc20]
cmp eax, 3
jne 0x4102b4
cmp dword [esp + 0x24], 1
jne 0x4115b5
xor edi, edi
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x41077e
test ebx, ebx
je 0x40fff7
mov esi, dword [ebx + 4]
push ebx
call fcn.0041f55e
add esp, 4
mov ebx, esi
test esi, esi
jne 0x40ffe5
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [esp + 0x24]
mov dword [esp + 0x18], 0x16
test esi, esi
jne 0x41071e
or byte [edi], al
add byte [eax], al
cmp edi, 0x4c2220
je 0x41005c
dec esp
add byte [esi + edi - 0x7d], dh
jg 0x41002d
cmp dword [edi + 0xc], 4
je 0x410fce
add al, 0xf
test byte [esi - 0x74fffff1], ah
ja 0x410033
mov esi, dword [edi + 8]
test esi, esi
jne 0x410fe0
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x47a42e
push 0x4c2220
mov ecx, edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.00411720
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
inc esi
mov dword [esp + 0x24], esi
cmp esi, 1
jne 0x41076a
mov dword [esp + 0x6c], edi
cmp byte [0x4c20fc], 0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
jne 0x47a904
or byte [ebx + 0x48b0440], cl
mov byte [ebx + 0x24448900], cl
xor byte [edi], cl
test dword [ecx - 0x58], esi
push es
add byte [ebx + 0x4c20f03d], al
add byte [eax], al
cmp dword [0x4c20f0], 0
je 0x4103ff
cmp byte [0x4c20f9], 0
jne 0x47a5c1
mov esi, dword [0x4c20f4]
cmp dword [esi], 0
je 0x4103ff
mov ecx, dword [0x4c21f0]
mov byte [esp + 0x1f], 0
test cl, 1
je 0x47a5d2
mov dword [0x4c2210], 0
mov dword [0x4c220c], 0
mov dword [esp + 0x40], 0x4c21f4
mov dword [esp + 0x68], 0x4c21f4
mov edx, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [edx + 4]
mov dword [esp + 0x38], edx
mov dword [esp + 0x60], eax
test eax, eax
je 0x47a5fb
test ecx, ecx
je 0x47a603
cmp eax, ecx
jb 0x410313
mov ecx, dword [edx]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
mov edx, dword [edx]
test eax, eax
je 0x410144
lea esp, [esp]
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x410148
add edx, 2
add ecx, 2
dec dword [esp + 0x3c]
jne 0x410130
xor eax, eax
jmp 0x410154
movzx eax, word [edx]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
js 0x4101db
jle 0x40fec8
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0x1c]
test ecx, ecx
je 0x40fecd
mov edx, dword [ecx + 4]
cmp edx, eax
ja 0x4107c5
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x48], edx
mov ebx, dword [ebx]
mov dword [esp + 0x3c], ebx
mov ebx, dword [ecx]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x34]
test edx, edx
je 0x4101ce
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
mov ax, word [eax]
cmp ax, word [ebx]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x44]
jne 0x410270
add dword [esp + 0x3c], 2
add eax, 2
dec dword [esp + 0x48]
mov dword [esp + 0x44], eax
jne 0x4101a0
mov eax, dword [esp + 0x60]
cmp edx, eax
jb 0x41027c
jmp 0x410297
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0x18]
test ecx, ecx
je 0x40fecd
mov edx, dword [ecx + 4]
cmp eax, edx
ja 0x410804
mov ebx, dword [esp + 0x30]
mov edx, dword [ecx]
mov ebx, dword [ebx]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x410526
mov eax, dword [esp + 0x44]
lea esp, [esp]
mov ax, word [eax]
cmp ax, word [edx]
mov eax, dword [esp + 0x44]
je 0x41050e
mov ax, word [eax]
cmp ax, word [edx]
jae 0x410253
mov eax, dword [ecx + 0x1c]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x18], eax
mov eax, dword [esi]
mov dword [ecx + 0x1c], eax
mov dword [esi], ecx
cmp dword [ecx + 0x18], 0
je 0x40fecd
mov eax, dword [esi]
mov ecx, dword [esp + 0x40]
mov dword [ecx + 0x18], eax
mov eax, dword [esi]
mov dword [esp + 0x40], eax
mov eax, dword [eax + 0x18]
mov dword [esi], eax
mov eax, dword [esp + 0x30]
jmp 0x4100f4
mov edx, dword [esp + 0x3c]
mov ax, word [eax]
cmp ax, word [edx]
jae 0x410297
mov eax, dword [ecx + 0x18]
mov edx, dword [esp + 0x38]
mov dword [edx + 0x1c], eax
mov eax, dword [esi]
mov dword [ecx + 0x18], eax
mov dword [esi], ecx
cmp dword [ecx + 0x1c], 0
je 0x40fecd
mov eax, dword [esi]
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi]
mov dword [esp + 0x68], eax
mov eax, dword [eax + 0x1c]
mov dword [esi], eax
mov eax, dword [esp + 0x30]
jmp 0x4100f4
cmp eax, 6
ja case.0x4102b9.3
jmp dword [eax*4 + 0x411688]
test cl, cl
jne 0x41083b
push 8
call fcn.0041f4ea
add esp, 4
test eax, eax
je 0x41157d
mov dword [eax], esi
mov dword [eax + 4], ebx
mov ebx, eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], ebx
inc dword [esp + 0x54]
cmp esi, 7
je 0x4110b8
cmp esi, 8
je 0x4110b8
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
jmp 0x40ff38
mov eax, dword [esp + 0x30]
mov edx, dword [edx]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x410144
jmp 0x410330
mov ax, word [eax]
cmp ax, word [edx]
mov eax, dword [esp + 0x3c]
je 0x410fb6
movzx eax, word [eax]
cmp ax, word [edx]
jmp 0x41014e
mov esi, dword [esp + 0x24]
mov dword [esp + 0x18], 0x16
test esi, esi
jne 0x410847
cmp edi, 0x4c2220
je 0x4103a5
cmp dword [edi + 0xc], 4
je 0x4107cc
mov esi, dword [edi + 8]
test esi, esi
jne 0x4107de
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x47a18a
push 0x4c2220
mov ecx, edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.00411720
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
inc esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], esi
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp esi, 1
jne 0x410893
mov esi, edi
mov ecx, dword [esi + 8]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
or byte [ebx + 0x24448900], cl
dec eax
test ecx, ecx
jne 0x47a340
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x47a352
mov eax, dword [esp + 0x48]
mov dword [esi + 0xc], 1
mov dword [esi], eax
mov esi, dword [ebp + 0xc]
inc dword [esi]
jmp 0x40ff38
mov eax, dword [esp + 0x30]
mov esi, dword [0x4c20e0]
test esi, esi
je 0x47a904
mov ecx, dword [0x4c21f0]
mov byte [esp + 0x1f], 0
test cl, 1
je 0x47a610
mov dword [0x4c2210], 0
mov dword [0x4c220c], 0
dec esp
add byte [eax], al
add byte [eax], al
add bh, al
add eax, 0x4c220c
add byte [eax], al
add byte [eax], al
mov dword [esp + 0x3c], 0x4c21f4
mov dword [esp + 0x68], 0x4c21f4
mov edx, dword [eax + 4]
mov ecx, dword [esi + 4]
mov dword [esp + 0x44], edx
test edx, edx
je 0x47a63f
test ecx, ecx
je 0x47a647
cmp edx, ecx
jb 0x4105fd
adc byte [esi - 0x74ffffff], 0xe
mov ecx, dword [esi]
mov eax, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x48], eax
mov edx, dword [edx]
test eax, eax
je 0x410498
lea esp, [esp]
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x41064d
add edx, 2
add ecx, 2
dec dword [esp + 0x48]
jne 0x410480
xor eax, eax
mov edx, dword [esp + 0x44]
test eax, eax
js 0x41065e
jg 0x41053c
mov byte [esp + 0x1f], 1
cmp byte [esp + 0x1f], 0
mov eax, dword [esi + 0x18]
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x4c20e0]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4c20e0]
mov eax, dword [0x4c2210]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4c20e0]
mov eax, dword [0x4c220c]
mov dword [ecx + 0x1c], eax
je 0x47a904
mov eax, dword [0x4c20e0]
test eax, eax
je 0x47a904
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x40ff19
jmp 0x47a904
add eax, 2
add edx, 2
dec dword [esp + 0x3c]
mov dword [esp + 0x44], eax
jne 0x410220
mov eax, dword [esp + 0x60]
cmp eax, dword [ecx + 4]
jae 0x410253
jmp 0x410238
mov eax, dword [ebx + 4]
jmp 0x40ffae
lea eax, [esi + 0x1c]
mov dword [esp + 0x38], eax
mov eax, dword [eax]
test eax, eax
je 0x4104b1
mov ecx, dword [eax + 4]
mov dword [esp + 0x40], ecx
cmp ecx, edx
jbe 0x41055e
mov ecx, edx
mov dword [esp + 0x40], edx
mov edx, dword [eax]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx]
test eax, eax
je 0x41058a
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x410592
add edx, 2
add ecx, 2
dec dword [esp + 0x48]
jne 0x410572
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x44]
jb 0x410594
jmp 0x4105b7
jae 0x4105b7
mov ecx, dword [esp + 0x38]
mov esi, dword [ecx]
mov eax, dword [esi + 0x18]
mov dword [ecx], eax
mov eax, dword [0x4c20e0]
mov dword [esi + 0x18], eax
mov dword [0x4c20e0], esi
cmp dword [esi + 0x1c], 0
je 0x4104b1
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x1c], esi
mov eax, dword [0x4c20e0]
mov dword [esp + 0x68], eax
mov esi, dword [eax + 0x1c]
mov eax, dword [esp + 0x30]
mov dword [0x4c20e0], esi
jmp 0x410445
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00411d10
test eax, eax
js 0x4115a1
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x34], ebx
jmp 0x40ffa0
mov eax, dword [esi]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x40], eax
test ecx, ecx
je 0x410822
lea esp, [esp]
mov ebx, dword [esp + 0x38]
mov ax, word [eax]
cmp ax, word [ebx]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
je 0x41080f
movzx eax, word [eax]
mov ecx, dword [esp + 0x38]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x41049e
movzx eax, word [edx]
cmp ax, word [ecx]
sbb eax, eax
and eax, 0xfffffffe
inc eax
jmp 0x41049a
mov ecx, dword [esi + 0x18]
lea eax, [esi + 0x18]
mov dword [esp + 0x44], eax
test ecx, ecx
je 0x4104b1
mov eax, dword [ecx + 4]
cmp edx, eax
ja 0x411183
mov eax, dword [ecx]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], eax
test edx, edx
je 0x4106c6
jmp 0x4106a0
mov ebx, dword [esp + 0x38]
mov ax, word [eax]
cmp ax, word [ebx]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
jne 0x4106cd
add dword [esp + 0x38], 2
add eax, 2
dec dword [esp + 0x48]
mov dword [esp + 0x40], eax
jne 0x4106a0
cmp edx, dword [ecx + 4]
jb 0x4106d9
jmp 0x4106fc
mov edx, dword [esp + 0x38]
mov ax, word [eax]
cmp ax, word [edx]
jae 0x4106fc
mov esi, ecx
mov ecx, dword [esp + 0x44]
mov eax, dword [esi + 0x1c]
mov dword [ecx], eax
mov eax, dword [0x4c20e0]
mov dword [esi + 0x1c], eax
mov dword [0x4c20e0], esi
cmp dword [esi + 0x18], 0
je 0x4104b1
mov ecx, dword [esp + 0x3c]
mov dword [ecx + 0x18], esi
mov eax, dword [0x4c20e0]
mov dword [esp + 0x3c], eax
mov esi, dword [eax + 0x18]
mov eax, dword [esp + 0x30]
mov dword [0x4c20e0], esi
jmp 0x410445
cmp byte [esp + 0x2d], 0
jne 0x410da4
push 0x18
call fcn.0041f4ea
mov esi, eax
add esp, 4
test esi, esi
je 0x41156a
push 0x4c2220
mov ecx, esi
mov dword [esi + 8], 0
call fcn.00411720
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], eax
mov eax, esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
jmp 0x410060
cmp byte [esp + 0x2d], 0
jne 0x411571
mov dword [esp + 0x6c], eax
jmp 0x410072
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 0x10]
mov dword [esp + 0x48], ecx
test ecx, ecx
jne 0x4111aa
mov eax, dword [ebx + 0xc]
cmp eax, 5
jge 0x411321
push ebx
mov dword [ebx + 0xc], 1
mov dword [ebx], 0
call fcn.0041f55e
add esp, 4
mov ebx, esi
test esi, esi
jne 0x410782
mov ebx, dword [esp + 0x34]
jmp 0x40ffe1
mov edx, eax
jmp 0x410180
cmp dword [0x4c222c], 4
jne 0x410371
jmp 0x47a15d
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x47a170
push esi
call fcn.0041f55e
add esp, 4
mov dword [edi + 8], 0
jmp 0x41037c
mov eax, edx
mov dword [esp + 0x60], edx
jmp 0x4101f9
add dword [esp + 0x38], 2
add eax, 2
mov dword [esp + 0x40], eax
dec ecx
jne 0x410620
xor eax, eax
jmp 0x41049e
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0xd
mov dword [ecx], eax
jmp 0x40ff98
mov dword [ebx], esi
mov byte [esp + 0x5d], 0
jmp 0x4102e9
cmp byte [esp + 0x2d], 0
jne 0x410f37
push 0x18
call fcn.0041f4ea
mov esi, eax
add esp, 4
test esi, esi
je 0x41155b
push 0x4c2220
mov ecx, esi
mov dword [esi + 8], 0
call fcn.00411720
mov eax, dword [esp + 0x10]
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], edx
jmp 0x4103a9
cmp byte [esp + 0x2d], 0
jne 0x411562
mov esi, edx
jmp 0x4103c7
test cl, cl
je 0x410df5
mov eax, dword [ebx + 4]
cmp dword [eax], 0x12
je 0x410935
test cl, cl
jne 0x410f2f
mov eax, ebx
cmp dword [eax], 0x14
je 0x4115aa
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00411d10
test eax, eax
js 0x4115a1
mov ebx, dword [esp + 0x58]
mov cl, byte [esp + 0x5d]
mov dword [esp + 0x34], ebx
jmp case.0x4102b9.2
test ecx, ecx
je 0x410911
mov eax, dword [esi + ecx*4 - 4]
movzx eax, word [eax + 8]
cmp ax, 0x48
je 0x479d73
cmp ax, 0x4f
je 0x479d73
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0x12
mov dword [ecx], eax
jmp 0x40ff98
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0x13
mov dword [ecx], eax
jmp 0x40ff98
test cl, cl
je 0x410953
mov esi, dword [ebx + 4]
push ebx
call fcn.0041f55e
mov ebx, esi
mov esi, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], ebx
cmp byte [esp + 0x5c], 0
je 0x47a654
mov byte [esp + 0x5d], 1
dec dword [esp + 0x54]
jmp case.0x4102b9.3
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 1
mov dword [ecx], eax
jmp 0x40ff98
cmp dword [esp + 0x24], 0
mov dword [esp + 0x18], 0x16
je 0x411218
cmp byte [esp + 0x2d], 0
jne 0x41129f
push 0x18
call fcn.0041f4ea
mov esi, eax
add esp, 4
test esi, esi
je 0x41152d
invalid
push 0x4c2220
mov ecx, esi
mov dword [esi + 8], 0
call fcn.00411720
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov ecx, dword [esi]
inc dword [esp + 0x24]
mov eax, dword [edx + ecx*4 + 4]
cmp word [eax + 8], 0x47
jne 0x4799a0
cmp dword [esp + 0x24], 1
je 0x411229
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0x10]
jne 0x411534
mov dword [esp + 0x30], eax
mov dword [esp + 0x70], 0x49dc50
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [edx + ecx*4]
mov ecx, dword [eax]
movsx eax, word [eax + 0xa]
mov dword [esp + 0x40], eax
mov eax, dword [0x4c2214]
mov dword [esp + 0x60], ecx
test al, 1
je 0x4799bc
cmp ecx, dword [0x4c2218]
je 0x4799fc
mov eax, dword [ebp + 8]
inc dword [esi]
mov ecx, dword [esi]
mov edx, dword [eax + 4]
mov eax, dword [edx + ecx*4]
cmp word [eax + 8], 0x47
jne 0x47a761
lea eax, [ecx + 1]
mov dword [esi], eax
mov dword [esp + 0x48], eax
xor esi, esi
mov dword [esp + 0x80], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [edx + ecx*4]
movsx eax, word [eax + 8]
sub eax, 0x47
je 0x410f96
or byte [ebx - 0x7bf0b818], al
std
add al, 0
add byte [eax + 0x74], cl
adc eax, dword [ebx - 0x7bf0c818]
out 0xa, eax
add byte [eax], al
dec eax
je 0x410aaf
sub eax, 0x37
je 0x41158c
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x410a84
test esi, esi
jne 0x410f88
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x6c], esi
mov ecx, dword [edx]
mov dword [esp + 0x38], ecx
lea eax, [ecx + 1]
mov dword [edx], eax
cmp dword [esp + 0x48], ecx
jae 0x410bde
jmp 0x410ae0
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x98], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 1
cmp dword [esp + 0x78], eax
jne 0x410b46
add eax, eax
cmp eax, 8
jae 0x410b17
mov eax, 8
xor ecx, ecx
mov dword [esp + 0x7c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041f4ea
mov esi, eax
mov eax, dword [esp + 0x78]
add esp, 4
test eax, eax
jne 0x479a25
mov dword [esp + 0x74], esi
push 0x10
call fcn.0041f4ea
mov esi, eax
add esp, 4
test esi, esi
je 0x41153c
lea eax, [esp + 0x98]
push eax
mov ecx, esi
mov dword [esi + 8], 0
call fcn.00411720
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
push dword [esp + 0x38]
mov dword [eax + ecx*4], esi
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
inc ecx
mov dword [esp + 0x7c], ecx
push dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x88]
push eax
push dword [ebp + 8]
call fcn.0040fe30
test eax, eax
js 0x47a740
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x38]
inc esi
mov dword [esp + 0x6c], esi
cmp ecx, edx
jne 0x4111d0
mov dword [esp + 0xa4], 1
mov dword [esp + 0x98], 0
mov ecx, dword [esp + 0x14]
push dword [esp + 0x60]
add ecx, 0x49c
call fcn.00414800
cmp esi, dword [eax + 0x18]
jl 0x411596
mov ecx, dword [esp + 0x14]
push dword [esp + 0x60]
lea ecx, [ecx + 0x49c]
call fcn.00414800
cmp esi, dword [eax + 0x1c]
jg 0x411596
mov esi, dword [esp + 0x30]
mov ecx, dword [esi + 8]
test ecx, ecx
jne 0x479a50
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x479a62
mov edx, dword [esp + 0x14]
mov dword [esi + 0xc], 1
mov dword [esi], 1
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx + 8]
add ecx, edx
cmp byte [ecx + 0xd], 0
jne 0x411543
mov dword [eax + 0x14], 0
cmp byte [ecx + 0xd], 0
mov eax, dword [ecx + 8]
jne 0x41154b
mov byte [eax + 0x18], 0
mov eax, dword [edx]
mov esi, dword [eax + 4]
jo 0x410c78
add esi, edx
mov dword [esp + 0x48], esi
and al, 0x48
cmp byte [esi + 0xd], 0
jne 0x479b11
mov esi, dword [esi + 8]
mov ecx, dword [esi + 0x28]
test ecx, ecx
jne 0x479b1c
mov eax, dword [esi + 0x2c]
cmp eax, 5
jge 0x479b32
mov eax, dword [esp + 0x48]
mov dword [esi + 0x2c], 1
mov dword [esi + 0x20], 0
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x411553
push dword [esp + 0x60]
lea ecx, [edx + 0x49c]
mov byte [eax + 0x30], 0
call fcn.00414800
mov edx, dword [eax + 0x10]
mov ecx, dword [eax + 0x14]
mov esi, dword [eax + 0xc]
push dword [esp + 0x30]
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov ecx, dword [ecx + eax]
add ecx, edx
add ecx, dword [esp + 0x1c]
call esi
test eax, eax
js 0x47a77b
xor esi, esi
mov dword [esp + 0x70], 0x49dc50
cmp dword [esp + 0x78], esi
jbe 0x410d42
jmp 0x410d10
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + esi*4]
mov dword [esp + 0x48], ecx
test ecx, ecx
je 0x410d34
call fcn.0040e070
push dword [esp + 0x48]
call fcn.0041f55e
mov eax, dword [esp + 0x78]
add esp, 4
mov dword [eax + esi*4], 0
inc esi
cmp esi, dword [esp + 0x78]
jb 0x410d10
push dword [esp + 0x74]
mov dword [esp + 0x7c], 0
call fcn.0041f55e
add esp, 4
mov eax, dword [esp + 0x14]
cmp dword [eax + 0xfc], 1
je 0x47a7ef
mov esi, dword [ebp + 0xc]
jmp 0x40ff38
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x411018
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x18], 0xb
mov esi, dword [esp + 0x18]
mov dword [ecx], eax
jmp 0x40ffa0
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
xor esi, esi
add dword [ebx - 0x9ccf3b3], ecx
mov dword [ecx], eax
jmp 0x40ff98
mov eax, dword [esp + 0x10]
cmp eax, 0x4c2220
je 0x410deb
cmp dword [eax + 0xc], 4
je 0x411461
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x411473
mov eax, dword [eax + 0xc]
cmp eax, 5
jge 0x47a4f0
mov ecx, dword [esp + 0x10]
push 0x4c2220
mov dword [ecx + 0xc], 1
mov dword [ecx], 0
call fcn.00411720
mov byte [esp + 0x2d], 0
jmp 0x41005c
mov eax, ebx
jmp 0x4108b0
mov esi, dword [esp + 0x24]
mov dword [esp + 0x18], 0x16
test esi, esi
jne 0x411064
cmp edi, 0x4c2220
je 0x410e52
jmp dword [eax]
cmp dword [edi + 0xc], 4
je 0x4114e8
mov ecx, dword [edi + 8]
test ecx, ecx
jne 0x4114fa
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x47978d
push 0x4c2220
mov ecx, edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.00411720
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
inc esi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], esi
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp esi, 1
jne 0x4110a6
mov esi, edi
cmp dword [esi + 0xc], 4
mov eax, dword [eax]
mov ecx, dword [esi + 8]
mov dword [esp + 0x48], eax
je 0x47984f
test ecx, ecx
jne 0x47985a
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x47986c
push 0x10
mov dword [esi], 0
mov dword [esi + 0xc], 4
call fcn.0041f4ea
mov edx, eax
add esp, 4
test edx, edx
je 0x411526
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov eax, dword [eax + 0xc]
mov dword [edx + 0xc], eax
inc dword [eax]
mov dword [esi + 8], edx
mov esi, dword [ebp + 0xc]
jne 0x410eea
mov eax, dword [esp + 0x14]
inc dword [esi]
cmp byte [eax + 0x101], 0
jne 0x47991b
add byte [edi], cl
test dword [edx], ebp
mov al, byte [esi]
add byte [eax + 0x102b8], al
add byte [eax], al
cmp byte [eax + 0x102], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
je 0x40ff3e
jmp 0x479933
mov eax, dword [esp + 0x18]
cmp eax, 0x16
jne 0x41118a
mov dword [esp + 0x18], 0xc
mov esi, dword [esp + 0x18]
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x40ffa0
mov eax, dword [ebx + 4]
jmp 0x4108c3
mov eax, dword [esp + 0x10]
cmp eax, 0x4c2220
je 0x410f7e
cmp dword [eax + 0xc], 4
je 0x47a239
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x47a259
mov eax, dword [eax + 0xc]
cmp eax, 5
jge 0x47a26f
mov ecx, dword [esp + 0x10]
push 0x4c2220
mov dword [ecx + 0xc], 1
mov dword [ecx], 0
call fcn.00411720
mov byte [esp + 0x2d], 0
jmp 0x4103a5
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
dec esi
mov dword [ecx], eax
jmp 0x410a84
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
inc esi
mov dword [ecx], eax
jmp 0x410a84
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 0xe
mov dword [ecx], eax
jmp 0x40ff98
add eax, 2
add edx, 2
mov dword [esp + 0x3c], eax
dec ecx
jne 0x410330
xor eax, eax
jmp 0x410154
cmp dword [0x4c222c], 4
jne 0x410028
jmp 0x47a401
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x47a414
push esi
call fcn.0041f55e
add esp, 4
mov dword [edi + 8], 0
jmp 0x410033
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 9
mov dword [ecx], eax
jmp 0x40ff98
cmp eax, 0x13
je 0x410d7c
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x18], 0x11
mov esi, dword [esp + 0x18]
mov dword [ecx], eax
jmp 0x40ffa0
dec eax
cmp eax, 0x29
ja case.0x41104b.4
movzx eax, byte [eax + 0x4116c4]
jmp dword [eax*4 + 0x4116a4]
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 7
mov dword [ecx], eax
jmp 0x40ff98
cmp byte [esp + 0x2d], 0
je 0x411244
mov eax, dword [esp + 0x10]
cmp eax, 0x4c2220
je 0x41109c
cmp dword [0x4c222c], 4
je 0x411452
mov ecx, eax
call fcn.00412c20
mov ecx, dword [esp + 0x10]
push 0x4c2220
call fcn.00411720
mov byte [esp + 0x2d], 0
jmp 0x410e52
cmp byte [esp + 0x2d], 0
jne 0x41151e
mov esi, edx
jmp 0x410e74
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
test esi, esi
je 0x411584
cmp esi, 1
jne 0x47a678
mov eax, edi
push eax
lea ecx, [esp + 0xf4]
mov dword [esp + 0xfc], 0
call fcn.00411720
lea ecx, [esp + 0xf0]
call fcn.00405700
mov ecx, dword [esp + 0x18]
test al, al
jne 0x4113a3
cmp ecx, 7
jne 0x411169
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0041c1f1
test eax, eax
js 0x47a973
cmp dword [esp + 0x18], 8
je 0x47a68b
cmp esi, 1
jne 0x47a6af
mov esi, edi
mov ecx, esi
call fcn.00412c20
mov dword [esi + 0xc], 9
mov byte [esi], 0
cmp byte [esp + 0x5d], 0
jne 0x47a6cb
cmp byte [esp + 0x5c], 0
je 0x47a6e6
mov byte [esp + 0x5d], 1
dec dword [esp + 0x54]
lea ecx, [esp + 0xf0]
call fcn.00412c20
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
jmp 0x40ff3e
mov edx, eax
jmp 0x41067b
cmp eax, 0x13
je 0x410f16
clc
adc ecx, dword [edi]
test byte [ebx - 0x16000003], al
inc edi
mov eax, dword [esi]
jmp 0x479cdf
push es
add byte [ebp + 0x4d8b0141], cl
or al, 0xbe
add eax, 0x89000000
add ecx, ebp
out dx, al
in eax, dx
invalid
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 5
mov dword [ecx], eax
jmp 0x40ff98
mov eax, dword [ecx + 0xc]
dec dword [eax]
mov eax, dword [ecx + 0xc]
cmp dword [eax], 0
je 0x4112ff
push ecx
call fcn.0041f55e
add esp, 4
mov dword [ebx + 8], 0
jmp 0x410794
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x40
jne 0x47a706
lea eax, [ecx + 1]
cmp eax, edx
je 0x47a706
lea ecx, [esp + 0x98]
mov dword [esp + 0x80], eax
call fcn.00412c20
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x80], ecx
jb 0x410ae0
jmp 0x410bde
push 0x4c2220
mov ecx, edi
call fcn.0040dcae
jmp 0x4109d4
mov dword [esp + 0x30], edi
jmp 0x410a10
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 2
mov dword [ecx], eax
jmp 0x40ff98
push 0x18
call fcn.0041f4ea
mov esi, eax
add esp, 4
test esi, esi
je 0x411517
push 0x4c2220
mov ecx, esi
mov dword [esi + 8], 0
call fcn.00411720
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x4113b9
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], edx
jmp 0x410e56
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 4
mov dword [ecx], eax
jmp 0x40ff98
mov ecx, dword [esp + 0x10]
push 0x4c2220
call fcn.0040dcae
mov byte [esp + 0x2d], 0
jmp 0x4109d4
push 0x4c2220
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], 0x16
call fcn.0041d3be
lea ecx, [esp + 0x20]
call fcn.0041d442
mov esi, eax
mov ecx, esi
call fcn.00412c20
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov dword [esi + 0xc], 9
mov byte [esi], 0
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
inc dword [esi]
jmp 0x40ff38
push dword [ecx]
call fcn.0041f55e
mov eax, dword [esp + 0x4c]
add esp, 4
push dword [eax + 0xc]
call fcn.0041f55e
mov ecx, dword [esp + 0x4c]
add esp, 4
jmp 0x4111bb
sub eax, 5
cmp eax, 0xa
ja case.0x41132d.6
jmp dword [eax*4 + 0x4116f0]
push 0x4c2220
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], 0x16
call fcn.0041d3be
mov byte [esp + 0xa8], 1
push dword [esp + 0xa8]
lea ecx, [esp + 0x24]
call fcn.0041d442
mov ecx, eax
call fcn.0041dc1a
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x28]
inc dword [esi]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
jmp 0x40ff38
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 3
mov dword [ecx], eax
jmp 0x40ff98
lea eax, [ecx + 1]
mov ecx, dword [ebp + 0xc]
mov esi, 8
mov dword [ecx], eax
jmp 0x40ff98
cmp ecx, 8
je 0x411110
test al, al
jne 0x411169
jmp 0x41110b
mov edx, esi
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], edx
jmp 0x410e56
or eax, 1
push 0x471aaf
mov dword [0x4c221c], eax
mov dword [0x4c2220], 0
mov dword [0x4c2228], 0
mov dword [0x4c222c], 1
call fcn.00420f0a
add esp, 4
jmp 0x40fe50
push 0x4c2220
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], 0x16
call fcn.0041d3be
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov edx, dword [esi]
lea ecx, [esp + 0x20]
lea eax, [edx + 1]
mov dword [esi], eax
mov eax, dword [edi + 4]
mov edx, dword [eax + edx*4]
call fcn.0041d442
mov ecx, dword [esp + 0x14]
push eax
push dword [edx]
call fcn.0041d922
test eax, eax
jns 0x410302
jmp 0x47a7cb
cmp dword [eax + 0xc], 4
jne 0x411087
jmp 0x47983c
cmp dword [0x4c222c], 4
jne 0x410db9
jmp 0x47a4dd
push ecx
call fcn.00402a99
mov eax, dword [esp + 0x10]
mov dword [eax + 8], 0
jmp 0x410dc4
push 0x4c2220
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], 0x16
call fcn.0041d3be
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x20]
fld qword [eax]
fstp qword [esp + 0x48]
call fcn.0041d442
mov esi, eax
mov ecx, esi
call fcn.00412c20
fld qword [esp + 0x48]
mov eax, dword [esp + 0x28]
fstp qword [esi]
mov edi, dword [esp + 0x20]
mov dword [esi + 0xc], 3
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
inc dword [esi]
jmp 0x40ff38
cmp dword [0x4c222c], 4
jne 0x410e22
jmp 0x47977a
push ecx
call fcn.00402a99
mov dword [edi + 8], 0
jmp 0x410e2d
xor ebx, ebx
mov dword [esp + 0x34], ebx
jmp 0x40fe95
xor esi, esi
jmp 0x41126b
mov esi, dword [edx + 0x10]
jmp 0x410e74
xor edx, edx
jmp 0x410ed8
xor esi, esi
jmp 0x4109c3
mov eax, dword [eax + 0x10]
jmp 0x410a0c
xor esi, esi
jmp 0x410b70
mov eax, dword [eax + 0x38]
jmp 0x410c57
mov eax, dword [eax + 0x38]
jmp 0x410c6b
mov eax, dword [eax + 0x38]
jmp 0x410cbd
xor esi, esi
jmp 0x410879
mov esi, dword [edx + 0x10]
jmp 0x4103c7
xor esi, esi
jmp 0x410750
mov eax, dword [eax + 0x10]
mov dword [esp + 0x6c], eax
jmp 0x410072
xor eax, eax
jmp 0x4102dc
mov esi, dword [ebp + 0xc]
jmp 0x40ff38
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
jmp 0x47a761
push dword [esp + 0x40]
push 0x70
jmp 0x47a772
push dword [esp + 0x64]
jmp 0x47a868
push dword [esp + 0x64]
push 0x6d
jmp 0x47a7de
push dword [esp + 0x64]
push 0x6e
jmp 0x47a7de
dec dword [ebx - 0x74affbb9]
jo 0x479786
call fcn.0041f59f
pop ecx
mov dword [edi + 4], esi
call [ecx - 0x77]
ja 0x47978f
mov byte [edi + 9], 0
or dword [eax], eax
jmp 0x405fa1
stc
dec dword [ebx + 0xfc9850f]
test byte [edx], dh
jbe 0x479840
test ecx, ecx
je 0x410e7a
call dword [ecx - 0x18]
mov dh, 0xff
sti
invalid
push ecx
call fcn.00439804
jmp 0x410e7a
invalid
daa
jbe 0x47984b
dec dword [ebx + 0xfc9850f]
test byte [0x51fff976], bl
test ecx, ecx
je 0x410e7a
jbe 0x479855
call dword [ecx - 0x18]
retf
push ecx
call fcn.0043982e
jmp 0x410e7a
je 0x410e7a
push ecx
call fcn.00402ada
jmp 0x410e7a
stc
dec dword [ebx + 0xfc9850e]
test byte [ebp + 0x51fff975], dh
call fcn.00439804
jmp 0x410edc
push cs
test ecx, ecx
je 0x410edc
push ecx
call fcn.0043982e
jmp 0x410edc
je 0x410edc
push ecx
call fcn.00402ada
jmp 0x410edc
cli
dec dword [ebx + 0x88b0c45]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
lea ecx, [esp + 0x20]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
call fcn.0041d483
mov esi, eax
mov ecx, esi
call fcn.00412c61
mov dword [esi + 4], ebx
cli
dec dword [ebx - 0x17317410]
lcall 0x45e, 0x89fff992
mov ebx, dword [esp + 0x34]
mov dword [esi + 0xc], 0xb70f02
mov dword [esi], edi
mov esi, dword [ebp + 0xc]
inc dword [esi]
jmp 0x410343
inc dword [ebx - 0x7b97fe38]
int1
dec edx
add byte [ebp + 0x11c248c], cl
add byte [ebx], al
adc al, 0x22
dec esp
add al, ch
inc esp
xor al, 0xf9
dec dword [ebx + 0x4c21040d]
add bh, bh
xor byte [ebx + 0x452ff11], cl
lea ecx, [esp + 0x4000118]
mov dword [0x4c2218], eax
call fcn.0040cb78
mov ecx, dword [esp + 0x60]
and al, 0x18
add dword [eax], eax
add al, 0xa3
sbb byte [edx], ah
dec esp
add al, ch
inc esp
xor ecx, edi
dec dword [ebx - 0x169fdbb4]
push edx
jo 0x479a35
dec esp
and al, 0x60
jmp 0x410a8f
invalid
and al, 0x70
mov esi, eax
call fcn.0043f6cd
test esi, esi
js 0x47a830
jmp 0x410d97
xor dword [ebx - 7], esi
dec dword [ebx - 0x7a87dbb4]
leave
je 0x410b83
shl ecx, 2
push ecx
push eax
push esi
call 0x4641eec1
add esp, 0xc
push dword [esp + 0x74]
call fcn.0041f59f
add esp, 4
jmp 0x410b83
stc
dec dword [ebx + 0xfc9850e]
test byte [ebp + 0x71], dl
stc
call dword [ecx - 0x18]
loope 0x479b1d
push ecx
call fcn.00439804
jmp 0x410c72
sti
invalid
push ecx
call fcn.0043982e
jmp 0x410c72
cli
sti
sti
dec dword [ebx - 0x16ebdbac]
int3
invalid
push eax
lea ecx, [esp + 0x24]
call fcn.0041d483
push eax
push esi
push edi
mov edi, dword [esp + 0x24]
push 0
mov ecx, edi
call fcn.00413241
test ebp, esp
js 0x4ba828
cmp dword [edi + 0x40000fc], 1
je 0x47a828
jmp 0x410343
jne 0x479d81
mov ecx, dword [esp + 0x18]
push eax
push esi
push dword [ebp + 8]
call fcn.00411861
test ebp, esp
js 0x4ba83c
stc
inc dword [ebp - 0x4e77f01b]
or al, byte [eax + eax]
lea eax, [esp + 0x7401d0]
push eax
lea ecx, [esp + 0x24]
call fcn.0041d483
mov ecx, eax
call fcn.0040dcef
lea ecx, [esp + 0x7401d0]
call fcn.00412c61
jmp 0x40ff79
jne 0x479e00
mov ecx, dword [esp + 0x18]
push eax
push esi
push dword [ebp + 8]
call fcn.00411861
test ebp, esp
stc
inc dword [ebp + 0x4a880fe5]
js 0x4ba854
js 0x4ba854
lea eax, [esp + 0x7401c0]
push eax
lea ecx, [esp + 0x24]
call fcn.0041d483
mov ecx, eax
call fcn.0040dcef
lea ecx, [esp + 0x7401c0]
call fcn.00412c61
jmp 0x40ff79
mov eax, dword [esi + edx*4]
movzx eax, word [eax + 8]
cmp ax, 0x57
jne 0x479ece
inc ecx
jmp 0x479ee7
cmp ax, 0x58
jne 0x479ed7
dec ecx
jmp 0x479ee7
cmp ax, 0x7f
je 0x479eee
cmp ax, 0x40
jne 0x479ee7
test ecx, ecx
je 0x479eee
inc edx
mov dword [ebx], edx
test ecx, ecx
jne 0x479ebe
mov esi, ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x18], 0x40012
mov dword [esp + 0x34], ebx
jmp 0x410343
mov eax, dword [esi + edx*4]
movzx eax, word [eax + 8]
cmp ax, 0x47
jne 0x479f56
inc ecx
jmp 0x479f70
cmp ax, 0x48
jne 0x479f5f
dec ecx
jmp 0x479f70
cmp ax, 0x7f
je case.0x41104b.41
cmp ax, 0x40
jne 0x479f70
cmp ecx, 1
je case.0x41104b.41
inc edx
mov dword [ebx], edx
test ecx, ecx
jne 0x479f46
mov edx, ebx
mov ebx, dword [esp + 0x34]
mov edx, dword [edx]
mov eax, dword [esi + edx*4 - 4]
mov esi, dword [ebp + 0xc]
cmp word [eax + 8], 0x48
mov eax, dword [ebp + 0x14]
jne 0x4111bc
test ecx, ecx
jne 0x4111bc
lea eax, [edx - 1]
mov dword [esi], eax
jmp 0x40ff79
call fcn.00449114
push 0x4c2220
lea ecx, [esp + 0x24]
call fcn.0041d3ff
lea eax, [esp + 0x4000104]
push eax
lea ecx, [esp + 0x24]
call fcn.0041d483
mov ecx, eax
call fcn.00449d99
mov esi, dword [ebp + 0xc]
lea ecx, [esp - 0x3dfffef8]
inc dword [esi]
call fcn.0040cb78
jmp 0x410343
mov dword [esp + 0x18], 0x4c216
jne 0x47a170
lea ecx, [esp + 0x20]
call fcn.0041c61a
lea eax, [esp + 0x7400e0]
push eax
lea ecx, [esp + 0x24]
call fcn.0041d3ff
lea ecx, [esp + 0x7400e0]
call fcn.00412c61
lea ecx, [esp + 0x740188]
mov bh, cl
dec dword [ebp + 0x188248c]
je 0x47a194
call fcn.00412c61
jmp 0x410343
stc
dec dword [ebx + 0xfc9850f]
test byte [ecx - 0x17ae0007], al
mov ecx, 0xe9fffbf5
jns 0x47a2af
stc
dec dword [ebx + 0xfc9850f]
test byte [edi + 0x61], ch
stc
call dword [ecx - 0x18]
into
cmc
sti
invalid
push ecx
call fcn.00402ada
jmp 0x4103c9
inc dword [ebx - 0x77cfa18]
or cl, byte [edi]
xchg eax, ebp
insb byte es:[edi], dx
stc
invalid
pushal
insb byte es:[edi], dx
stc
call dword [ecx - 0x18]
mov edx, 0xe9fffbf4
push ebp
insb byte es:[edi], dx
stc
dec dword [ebx - 0x74efdbbc]
or byte [ebp + 0x47840fc9], al
insb byte es:[edi], dx
adc byte [ebx + 0xfc98508], cl
test byte [edi + 0x6c], al
stc
call dword [ecx - 0x18]
retf
stc
dec dword [ebx + 0xfc9850e]
test byte [eax], bl
pushal
stc
call dword [ecx - 0x18]
int1
sti
invalid
or eax, 0x8bfff960
push cs
test ecx, ecx
je 0x410425
push ecx
call fcn.0043982e
jmp 0x410425
push cs
test ecx, ecx
je 0x410425
push ecx
call fcn.00402ada
jmp 0x410425
stc
dec dword [ebx + 0xfc9850f]
test byte [edi + 0x51fff95b], dl
call fcn.00439804
jmp 0x410080
mov word [ebx - 7], ds
dec dword [ebx + 0xfc9850f]
test byte [edx + 0x51fff95b], al
call fcn.0043982e
jmp 0x410080
dec esp
push 0xe851fff9
cmp edx, esi
sti
invalid
and al, 0x10
mov ecx, dword [eax]
test ecx, ecx
je 0x410e11
push ecx
call fcn.0043982e
jmp 0x410e11
clc
invalid
hlt
pop edx
stc
inc dword [ebx + 0xd8901c9]
lock and dword [eax + eax - 0x47], ecx
hlt
test eax, esp
pop ebx
stc
inc dword [ebp + 0x5f850fe5]
pop ebx
test dword [edi + 0x5b], ebx
stc
invalid
mov dword [0x4c21f0], ecx
mov ecx, 0x4c21f4
call fcn.0040d838
push 0x471aa5
call fcn.00420f4b
mov esi, dword [0x4c20e0]
mov eax, dword [esp + 0x34]
add esp, 4
jmp 0x410462
test ebp, ebp
pop esi
stc
invalid
mov byte [esp + 0x5d], 0
jmp 0x4109a4
inc esi
test byte [esp + ebp*4], ah
ret 4
call fcn.0041dc5b
jmp 0x41118b
adc cl, ch
outsb dx, byte [esi]
push 0xfffffffffffffff9
dec dword [ebx - 0x17acfb8d]
mov cl, byte [esi - 6]
dec dword [ebx + 0x4c483de]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], ebx
jmp 0x411196
pop ebp
add cl, ch
pop edi
push 0xfffffffffffffff9
dec dword [ebx + 0x408b0845]
add al, 0x8b
add al, 0x88
mov ecx, dword [esp + 0x14]
movsx eax, word [eax + 0xa]
push eax
push 0x6f
call fcn.0044cc9d
lea ecx, [esp + 0x4c298]
call fcn.00412c61
lea ecx, [esp + 0x70]
call fcn.0043f6cd
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x41001a
mov word [eax + ebx*4], fs
ret 4
dec edi
cld
dec dword [ebx - 0x7cefdbbc]
iretd
invalid
invalid
mov edi, 0x68500a40
test dword [eax], eax
add byte [eax], al
call fcn.0044cc9d
lea ecx, [esp + 0xb0]
mov al, 0
add byte [eax], al
call fcn.0040cb78
mov edi, dword [esp + 0x28]
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x41001a
mov edi, dword [esp + 0x28]
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x41001a
scasb al, byte es:[edi]
push edi
stc
dec dword [ebx + 0x88b0c45]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
movsx eax, word [eax + 0xa]
push eax
push 0x6e
call fcn.0044cc9d
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x41001a
jmp 0x41001a
mov word [eax + ecx*4], fs
add dword [eax + eax - 0x18], esi
sub byte [ebx + 0x448bfff9], al
and al, 0x10
or edi, 0xffffffff
jmp 0x41001a
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
movsx eax, word [eax + 0xa]
push eax
push 0x79
call fcn.0044cc9d
mov eax, dword [esp + 0x10]
or edi, 0xffffffff
jmp 0x41001a
mov ecx, dword [esp + 0x18]
push 0x6b
call fcn.0044cc9d
or edi, 0xffffffff
jmp 0x410012
push esi
stc
invalid
and al, 0x18
push 0x6e
call fcn.0044cc9d
lea ecx, [esp + 0x7401f0]
or edi, 0xffffffff
call fcn.00412c61
cmp cl, 0xff
cmp cl, 0xff
mov eax, dword [esp + 0x10]
jmp 0x41001a
mov eax, dword [ebx]
test eax, eax
je 0x4107e1
push eax
call dword [0x48d44c]
push dword [ebx]
call fcn.0041f59f
add esp, 4
jmp 0x4107e1
out 0x5d, al
stc
invalid
out 0x5d, al
stc
dec dword [ebx + 0xfc9850b]
test ah, bl
pop ebp
stc
call dword [ecx - 0x18]
mov eax, dword [0xe9fffcf7]
rcr dword [ebp - 7], 1
dec dword [ebx + 0x32e8e8cb]
cli
invalid
call fcn.0041f59f
add esp, 4
push dword [ebx]
call fcn.0041f59f
add esp, 4
jmp 0x4107e1
push 0x6c6b6a69
insd dword es:[edi], dx
outsb dx, byte [esi]
outsd dx, dword [esi]
jo 0x4ba8a3
jb 0x4ba8a7
je 0x4ba8ab
jbe 0x4ba8af
js 0x4ba8b3
jp 0x4ba83c
add byte [eax], al
add byte [eax], al
add byte [ecx + 0x42], al
inc ecx
inc edx
inc ebx
inc esp
inc ebp
inc esi
inc edi
dec eax
dec ecx
dec edx
dec ebx
dec esp
dec ebp
dec esi
dec edi
push eax
push ecx
push edx
push ebx
push esp
push ebp
push esi
push edi
pop eax
pop ecx
pop edx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al