Function at 0x41b731
Capabilities:
Encode data using base64
Encrypt data using speck
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
mov dword [ebp - 0x124], ecx
mov ecx, dword [ecx]
push esi
mov esi, dword [eax]
mov eax, ecx
and eax, 0x800
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x5c], eax
push edi
push ebx
pop eax
setne al
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x78], eax
mov eax, ecx
shr eax, 9
and eax, 1
mov dword [ebp - 0x13c], edx
mov edx, dword [edx]
mov dword [ebp - 0xf8], eax
xor eax, 1
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0xfc], eax
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x58], eax
mov eax, ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 8], edx
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 4], esi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x98], 0xff
mov dword [ebp - 0x110], 0xfc00
mov dword [ebp - 0x114], 0xdc00
mov dword [ebp - 0x12c], 0x7b
mov dword [ebp - 0x120], 0x3a
mov dword [ebp - 0x140], 0x87
mov dword [ebp - 0x90], 0x30
mov dword [ebp - 0xb4], 0x39
mov dword [ebp - 0x128], 0x27
mov dword [ebp - 0x118], 0x1e
mov dword [ebp - 0x11c], 0x82
mov dword [ebp - 0x138], 0x5d
jmp 0x41b9de
mov eax, ebx
sub eax, 0x5b
je 0x41bde0
sub eax, 1
je 0x41c3e6
sub eax, 1
je 0x45a25e
sub eax, 1
je 0x45a233
sub eax, 0x1d
je 0x4595e3
sub eax, 1
je 0x41bbca
cmp dword [ebp - 0x5c], 0
mov ecx, dword [ebp - 0xc]
mov edi, ecx
mov word [ebp - 0x10c], bx
je 0x41b8cd
mov eax, 0xfc00
and ebx, eax
mov eax, 0xd800
cmp ebx, eax
je 0x45a284
push 2
pop esi
mov ebx, dword [ebp + 0x28]
mov dword [ebp - 0x28], edx
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x10]
sar eax, 1
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
je 0x41b93f
test cl, al
je 0x41b93f
movzx ecx, word [ebp - 0x10c]
mov edx, 0xfc00
mov eax, ecx
and eax, edx
mov edx, 0xd800
cmp eax, edx
je 0x45b521
mov eax, ecx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
add eax, edx
mov edx, dword [ebp - 8]
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3f3]
test eax, eax
jne 0x41bdb6
mov eax, dword [ebp - 0x2c]
and eax, dword [ebp - 0xc]
push 0x1d
pop ecx
add eax, ecx
mov word [edx], ax
add edx, esi
xor eax, eax
mov dword [ebp - 8], edx
mov ecx, eax
test edi, edi
je 0x41b96c
mov ax, word [ebp + ecx*2 - 0x10c]
mov word [edx], ax
add edx, esi
inc ecx
cmp ecx, edi
jb 0x41b957
mov dword [ebp - 8], edx
mov ax, word [ebp - 0x10c]
push 0xd
pop ecx
cmp ax, cx
je 0x45b54d
push 0xa
pop ecx
cmp ax, cx
je 0x45b54d
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
je 0x41c4f4
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x70], eax
cmp edi, dword [ebp - 0xc]
jne 0x45b582
movzx eax, word [edx - 2]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x68]
or eax, ecx
mov dword [ebp - 0x54], eax
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 8]
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
mov eax, dword [ebp - 0x50]
movzx ebx, word [esi]
mov dword [ebp - 0x10], ebx
test ebx, ebx
je 0x41bc31
cmp dword [ebp + 0x2c], 0
mov edi, dword [ebp + 0x28]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x10]
lea ecx, [eax + ecx*2]
je 0x41bbbc
lea eax, [ecx - 0xc8]
cmp edx, eax
ja 0x45b6e4
mov eax, dword [ebp - 0xc0]
cmp edx, eax
jb 0x4587c9
mov ecx, edx
sub ecx, eax
mov eax, dword [ebp + 0x2c]
sar ecx, 1
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x45b80b
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [ecx], eax
test edx, edx
je 0x41bc23
mov ecx, dword [ebp - 0xb0]
cmp edx, ecx
jbe 0x41ba85
mov esi, dword [ebp - 8]
mov eax, esi
sub eax, edx
and eax, 0xfffffffe
push eax
push edx
push ecx
call fcn.00422720
mov edx, dword [ebp - 0x28]
add esp, 0xc
mov ecx, dword [ebp - 0xb0]
sub edx, ecx
sar edx, 1
neg edx
mov dword [ebp - 0x28], ecx
lea esi, [esi + edx*2]
mov dword [ebp - 8], esi
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc0], edx
test ebx, ebx
je 0x41baaf
push 0x5c
pop ecx
cmp ebx, ecx
je 0x41c07b
cmp dword [ebp - 0x64], 0
jne 0x4587e8
cmp ebx, ecx
je 0x41c090
mov edi, dword [ebp - 0x2c]
and edi, 8
mov dword [ebp - 0x30], edi
jne 0x458855
push 0x28
pop eax
cmp ebx, eax
je 0x41bc3e
push 0x2a
pop eax
cmp ebx, eax
je 0x41c0a2
push 0x2b
pop eax
cmp ebx, eax
je 0x41c0a2
push 0x3f
pop eax
cmp ebx, eax
je 0x41c0a2
push 0x7b
pop eax
cmp ebx, eax
je 0x45899d
mov edx, dword [ebp - 0x88]
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x50]
test edx, edx
jne 0x4589b5
test dword [ebp - 0x2c], 0x4000
jne 0x4589f6
mov edx, dword [ebp - 8]
push 0x3f
pop eax
cmp ebx, eax
ja 0x41b86f
je 0x4595d7
mov eax, ebx
xor ecx, ecx
sub eax, ecx
je 0x41bbca
sub eax, 0x24
je 0x4595c2
sub eax, 4
je 0x41bc5d
sub eax, 1
je 0x41bbca
sub eax, 1
je 0x41c0ad
sub eax, 1
je 0x458a44
sub eax, 3
jne 0x41b8a7
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x41bb77
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov ebx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x20]
sub eax, dword [ebx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x2c]
shr eax, 2
and eax, dword [ebp - 0xc]
mov dword [ebp - 0x68], ecx
or eax, 0xc
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x28], edx
mov word [edx], ax
push 2
pop eax
add edx, eax
mov dword [ebp - 8], edx
jmp 0x41b9cd
cmp dword [edi + 0x20], ecx
jbe 0x41ba8e
jmp 0x45b8b5
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x6c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x34]
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x13c]
mov dword [eax], edx
mov eax, dword [ebp + 8]
mov dword [eax], esi
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x41bc1b
sub edx, dword [ebp - 0xc0]
mov ebx, 0x7fffffeb
mov ecx, dword [eax]
sub ebx, ecx
sar edx, 1
cmp ebx, edx
jl 0x45b80b
add ecx, edx
mov dword [eax], ecx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 8], edx
jmp 0x41ba88
test eax, eax
je 0x41b9ec
jmp 0x4587b4
push 0x3f
pop eax
cmp word [esi + 2], ax
jne 0x41baf5
push 0x23
pop eax
cmp word [esi + 4], ax
jne 0x41baf5
jmp 0x458958
add esi, 2
push 0x2a
mov dword [ebp - 4], esi
pop eax
movzx edx, word [esi]
cmp dx, ax
je 0x458a4c
mov eax, dword [ebp - 0x2c]
mov ecx, 0x85
mov dword [ebp - 0x24], ecx
xor edi, edi
mov ecx, dword [ebp + 0x28]
mov ebx, edi
mov dword [ebp - 0x3c], eax
push 0x3f
mov dword [ebp - 0x18], ebx
mov eax, dword [ecx + 0x20]
sub eax, dword [ecx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
pop eax
mov dword [ebp - 0x30], edi
cmp dx, ax
jne 0x41c23d
add esi, 2
mov dword [ebp - 4], esi
push 0x3a
pop edx
movzx ebx, word [esi]
mov eax, ebx
cmp eax, edx
jbe 0x458ccd
mov edx, esi
mov edi, ebx
mov dword [ebp - 0x1c], edx
sub eax, 0x3c
je 0x4593a9
sub eax, 1
je 0x45926b
sub eax, 1
je 0x45939f
sub eax, 5
je 0x4592f5
push 0xd
pop ebx
sub eax, ebx
je 0x4592ac
push 2
pop ebx
sub eax, ebx
je 0x45928f
push 0x2a
pop ebx
sub eax, ebx
je 0x45925b
xor ecx, ecx
push 0x29
mov eax, ecx
mov dword [ebp - 0x30], ecx
pop ebx
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x30]
cmp di, bx
je 0x45a527
mov ebx, edx
movzx eax, di
cmp di, word [ebp - 0x120]
je 0x41bd63
lea esi, [edx + 2]
movzx edi, di
push 0x69
pop edx
mov dword [ebp - 4], esi
cmp ax, dx
ja 0x45a4f7
jne 0x45a4ac
mov eax, dword [ebp - 0xc]
or dword [ecx], eax
movzx eax, word [esi]
mov ebx, esi
push 0x29
mov dword [ebp - 0x1c], ebx
mov edx, ebx
pop ebx
mov edi, eax
cmp ax, bx
jne 0x41bd1f
mov ebx, esi
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
or ecx, dword [ebp - 0x2c]
not eax
and ecx, eax
push 0x29
pop eax
mov dword [ebp - 0x3c], ecx
cmp word [esi], ax
jne 0x459202
mov edx, dword [ebp - 0xc]
mov eax, ecx
shr eax, 9
and eax, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0xf8], eax
xor eax, edx
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x124]
mov dword [eax], ecx
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, ecx
and eax, edx
mov dword [ebp - 0x94], eax
jmp 0x41b9d0
push 0x10
pop ecx
mov word [edx], cx
add edx, esi
push 9
pop ecx
mov word [edx], cx
add edx, esi
mov word [edx], ax
add edx, esi
cmp dword [ebp - 0x34], 0xfffffffe
mov dword [ebp - 8], edx
je 0x45b540
mov esi, dword [ebp - 4]
jmp 0x41b9d3
push 6
lea ecx, [esi + 2]
mov edx, 0x49cc78
call fcn.0041c609
pop ecx
test eax, eax
je fcn.0045aba8
mov ecx, dword [ebp - 4]
mov edx, 0x49cc70
push 6
lea ecx, [ecx + 2]
call fcn.0041c609
pop ecx
test eax, eax
je 0x45abaf
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp - 4]
mov ebx, dword [ebp - 8]
push 0x3a
mov eax, dword [edx + 0x20]
sub eax, dword [edx + 0x10]
sar eax, 1
mov dword [ebp - 0x40], eax
movzx eax, word [ecx + 2]
pop edi
mov dword [ebp - 0x28], ebx
cmp ax, di
je 0x45abc8
push 0x2e
pop edx
cmp ax, dx
je 0x45abc8
push 0x3d
pop edx
cmp ax, dx
je 0x45abc8
xor esi, esi
push 0x5c
mov eax, esi
pop edx
mov dword [ebp - 0x10], eax
add ecx, 2
mov dword [ebp - 4], ecx
movzx edi, word [ecx]
mov dword [ebp - 0x14], edi
cmp edi, edx
je 0x45abe0
test eax, eax
jne 0x41be7d
cmp edi, 0x5e
je 0x45ac1a
push 0x5d
pop ecx
cmp edi, ecx
je 0x45ac22
lea eax, [ebx + 6]
mov dword [ebp - 0x38], esi
push 0x20
mov dword [ebp - 0x18], eax
mov ebx, esi
mov dword [ebp - 0x20], eax
pop eax
push eax
lea eax, [ebp - 0xe0]
mov dword [ebp - 0x70], esi
push esi
push eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x3c], esi
call fcn.00422340
mov esi, dword [ebp - 4]
add esp, 0xc
test edi, edi
je 0x45b428
mov edx, ebx
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x80], ebx
mov ebx, edx
mov dword [ebp - 0x30], edx
je 0x41bee5
mov eax, edi
mov ecx, 0xfc00
and eax, ecx
cmp eax, 0xd800
je 0x45ac6a
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x20], ecx
ja 0x45aca6
cmp dword [ebp + 0x2c], 0
je 0x41bf02
mov eax, dword [ebp - 0x20]
cmp eax, ecx
ja 0x45acb1
cmp dword [ebp - 0x64], 0
jne 0x45acc5
cmp edi, 0x5b
je 0x45aced
push 0x5c
pop ecx
cmp edi, ecx
je 0x45af61
xor edx, edx
mov ecx, dword [ebp + 0x28]
mov ebx, dword [ebp - 0x2c]
push 0x5c
pop eax
cmp word [esi + 2], ax
je 0x45b231
push 0xd
pop eax
mov edx, esi
cmp edi, eax
je 0x45b25a
push 0xa
pop eax
cmp edi, eax
je 0x45b25a
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x41bf61
push 0x2d
pop eax
cmp word [esi + 2], ax
je 0x45b266
mov eax, dword [ebp - 0x80]
mov ebx, eax
push 2
pop edx
mov dword [ebp - 0x1c], eax
cmp eax, edx
jl 0x41c070
test ecx, ecx
jne 0x41bf88
cmp dword [ebp - 0x3c], ecx
jne 0x41bf88
mov ecx, dword [ebp - 0xc]
cmp ebx, ecx
je 0x41c4e2
push edi
push edi
push dword [ebp + 0x28]
push dword [ebp - 0x2c]
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0xe0]
call fcn.0041c574
mov edx, eax
add esp, 0x10
add edx, dword [ebp - 0x30]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x50]
push 2
pop edi
add esi, edi
mov dword [ebp - 4], esi
movzx edi, word [esi]
mov dword [ebp - 0x14], edi
test edi, edi
je 0x45b409
push 0x5d
pop eax
cmp edi, eax
jne 0x41bec3
cmp dword [ebp - 0x64], 0
jne 0x41bec3
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x20], ecx
ja 0x41bfe8
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x34]
cmp edi, 0xfffffffe
jne 0x41bff6
or edi, 0xffffffff
mov dword [ebp - 0x34], edi
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x84], edx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x68], edi
test eax, eax
jne 0x45b58f
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
je 0x41c029
mov eax, dword [ebp - 0x20]
sub eax, ecx
sar eax, 1
add dword [ebx], eax
mov esi, dword [ebp - 0x10]
xor eax, eax
cmp esi, edx
mov edx, dword [ebp - 8]
push 0x6e
setne al
pop ecx
add eax, ecx
mov word [edx], ax
push 2
pop eax
add edx, eax
mov dword [ebp - 8], edx
test ebx, ebx
jne 0x41c069
test esi, esi
jne 0x45b6ce
push 0x20
pop eax
push eax
lea eax, [ebp - 0xe0]
push eax
push edx
call fcn.00420e20
mov edx, dword [ebp - 8]
add esp, 0xc
push 0x20
jmp 0x41bbb1
lea ebx, [eax + 1]
mov dword [ebp - 0x1c], ebx
jmp 0x41bf74
push 0x45
pop ecx
cmp word [esi + 2], cx
push 0x5c
pop ecx
jne 0x41ba9d
jmp 0x4587d3
push 0x51
pop ecx
cmp word [esi + 2], cx
jne 0x41baaf
jmp 0x4587da
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x50]
jmp 0x41bb0a
or eax, 0xffffffff
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x28]
test edx, edx
je 0x45b7d4
test ecx, ecx
jne 0x41c0e3
mov ebx, dword [ebp - 0x7c]
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 0x68]
mov dword [ebp - 0x34], ebx
mov ebx, dword [ebp - 0x84]
mov dword [ebp - 0x60], ebx
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x54], ebx
sub ecx, eax
mov dword [ebp - 0x48], edx
neg ecx
push 2
sbb ecx, ecx
xor ebx, ebx
pop eax
and ecx, eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x80], ecx
test edi, edi
jne 0x45961a
push 0x23
pop eax
push 0x28
pop ecx
push 0x3f
pop edx
cmp word [esi + 2], cx
je 0x459716
lea ecx, [esi + 2]
movzx eax, word [ecx]
push 0x2b
pop edi
cmp ax, di
je 0x45976b
cmp ax, dx
jne 0x459776
mov ebx, dword [ebp - 0xfc]
mov esi, ecx
mov dword [ebp - 4], esi
mov edx, dword [ebp - 0x28]
push 0x75
pop eax
mov dword [ebp - 0x24], ebx
cmp word [edx], ax
je 0x459781
mov edi, dword [ebp - 8]
movzx ecx, word [edx]
push 0x1d
pop eax
cmp cx, ax
je 0x459ea1
push 0x1e
pop eax
cmp cx, ax
je 0x459ea1
push 0x1f
pop eax
cmp cx, ax
je 0x459ea1
push 0x20
pop eax
cmp cx, ax
je 0x459ea1
cmp ecx, 0x17
jae 0x45980a
push 0x34
mov edi, ecx
pop ebx
mov dword [ebp - 0x18], edi
mov eax, ecx
push 0x10
pop ecx
cmp ax, cx
je 0x459f50
push 0xf
pop ecx
cmp ax, cx
je 0x459f50
or dword [ebp - 0x10], 0xffffffff
lea edi, [edx + 2]
or dword [ebp - 0x14], 0xffffffff
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 8]
mov dword [ebp - 8], edx
test eax, eax
je 0x41c22a
mov edx, dword [ebp - 0x24]
add edx, ebx
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x30], edx
jne 0x459f97
mov ecx, dword [ebp - 0x44]
movzx eax, dx
cmp ecx, 0xffffffff
jne case.default.0x4992b6
mov ecx, dword [ebp - 0x28]
add eax, 0x21
push 2
mov word [ecx], ax
pop ecx
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
cmp dword [ebp - 0x5c], 0
je 0x41c20a
test ebx, 0x10000000
jne 0x45a0c0
mov word [edi], bx
mov ebx, ecx
lea edx, [ebx + edi]
mov dword [ebp - 8], edx
test esi, esi
jns 0x459e8b
mov esi, dword [ebp - 4]
cmp dword [ebp - 0x1c], 0
jne 0x45a0de
mov ecx, dword [ebp + 0x28]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x80]
or dword [ecx + 0x68], eax
jmp 0x41b9d0
test dword [ebp - 0x2c], 0x1000
jne 0x4595b2
mov edx, dword [ebp - 8]
inc dword [ecx + 0x40]
mov ax, word [ecx + 0x40]
mov ebx, dword [ebp - 0xc]
mov word [edx + 4], ax
mov esi, dword [ebp - 4]
mov ecx, dword [ecx + 0x58]
mov edi, dword [ebp + 0x28]
lea eax, [ecx + 1]
mov dword [edi + 0x58], eax
mov edi, dword [ebp - 0x24]
cmp ecx, 0xfa
jge 0x45b827
mov eax, 0x80
cmp edi, eax
mov eax, dword [ebp + 0x28]
jbe 0x45a53f
mov ecx, dword [eax + 0x20]
sub ecx, dword [eax + 0x10]
sar ecx, 1
mov dword [ebp - 0x40], ecx
xor ecx, ecx
mov dword [ebp - 0x28], edx
mov word [edx], di
mov edi, dword [eax + 0x68]
mov esi, dword [eax + 0x40]
mov eax, dword [ebp + 0x2c]
neg eax
mov dword [ebp - 0x8c], ecx
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x48], edx
sbb eax, eax
mov dword [ebp - 0x80], edi
and eax, ecx
xor edx, edx
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x87
sete dl
cmp ecx, 0x7f
je 0x45a55b
cmp ecx, 0x80
je 0x45a55b
xor ecx, ecx
push eax
push dword [ebp + 0x28]
lea eax, [ebp - 0xa0]
push dword [ebp + 0x20]
push eax
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp + 0x24]
add eax, edx
lea edx, [ebp - 0x48]
push eax
push ebx
push dword [ebp - 0x30]
lea eax, [ebp - 4]
push ecx
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.0041b4ca
add esp, 0x34
test eax, eax
je 0x45b3ae
mov ecx, dword [ebp + 0x28]
mov eax, 0x81
mov ebx, dword [ebp - 0x24]
dec dword [ecx + 0x58]
cmp ebx, eax
je 0x45a563
mov eax, dword [ebp - 8]
mov edx, 0x80
cmp ebx, edx
jbe 0x45a57c
mov ecx, 0x87
cmp ebx, ecx
je 0x45a584
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 4]
push 0x29
pop edx
cmp word [esi], dx
jne 0x45b819
cmp dword [ebp + 0x2c], 0
jne 0x41c531
mov edx, dword [ebp - 0x48]
mov dword [ebp - 8], edx
cmp ebx, 0x91
je 0x41b9d3
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x68], ecx
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
mov ecx, 0x81
cmp ebx, ecx
mov ecx, dword [ebp - 0x9c]
jb 0x45a638
cmp dword [ebp - 0x34], 0xfffffffe
je 0x45a5f1
test ecx, ecx
jns 0x45a619
test eax, eax
js 0x41b9d3
jmp 0x45a650
mov ebx, dword [ebp + 0xc]
lea edx, [ebp - 0xbc]
xor eax, eax
mov dword [ebp - 0x74], esi
mov esi, dword [ebp + 0x28]
lea ecx, [ebp - 4]
push eax
push dword [ebp - 0x2c]
push dword [esi + 0x40]
push ebx
call fcn.0041cb89
xor edx, edx
add esp, 0x10
mov edi, eax
cmp dword [ebx], edx
jne 0x45b3ae
test edi, edi
je 0x45a2b7
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x41c434
lea eax, [edi - 6]
cmp eax, 0x10
ja 0x41c434
or ecx, 0xffffffff
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x68], ecx
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x70], eax
cmp edi, 0x1b
je 0x45a306
cmp edi, 0x1c
je 0x45a680
test edi, edi
js 0x45aa60
push 0xf
pop eax
cmp edi, eax
je 0x45ab26
push 0x10
pop eax
cmp edi, eax
je 0x45ab26
mov ecx, dword [ebp - 0xc]
cmp edi, 5
je 0x45aadd
push 4
pop eax
cmp edi, eax
je 0x45aadd
cmp edi, ecx
je 0x45aadd
mov ebx, esi
push 0x1d
pop eax
cmp edi, eax
jge 0x45aaf0
push 0x10
pop ecx
lea eax, [edi - 6]
cmp ecx, eax
mov ecx, dword [ebx + 0x20]
sbb edx, edx
sub ecx, dword [ebx + 0x10]
not edx
sar ecx, 1
and edx, dword [ebp - 8]
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x40], ecx
je 0x45ab13
mov edx, dword [ebp - 8]
push 2
pop esi
mov word [edx], di
add edx, esi
mov dword [ebp - 8], edx
jmp 0x41bdd8
push 0x5d
pop eax
cmp word [esi + 2], ax
jne 0x41bf88
jmp 0x45b436
mov ecx, dword [ebp - 0x60]
or dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x84], ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x70], ecx
mov ecx, dword [ebp - 0xc]
cmp edi, ecx
jne 0x45b559
movzx eax, ax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x34], eax
cmp edi, ecx
jne 0x45b573
mov edx, dword [ebp - 8]
jmp 0x41bdd8
mov ebx, dword [ebp + 0x2c]
mov ecx, 0x7fffffeb
mov edi, dword [ebp - 0x8c]
mov edx, dword [ebx]
sub ecx, edx
lea eax, [edi - 4]
cmp ecx, eax
jl 0x45b80b
push 2
pop ecx
lea eax, [edi - 4]
add eax, edx
mov edx, dword [ebp - 8]
add edx, ecx
mov dword [ebx], eax
push 0x78
pop eax
mov word [edx], cx
add edx, ecx
mov word [edx], ax
add edx, ecx
mov word [edx], cx
add edx, ecx
jmp 0x41bbb4
add dword [edi - 0x18], edx
dec edx
cmp al, byte [eax]
add byte [ebx + 0x75890cc4], al
loopne 0x45880a
ror byte [ecx - 0x76bf17a3], 0x45
in al, dx
call 0xec8b111f
inc eax
sbb al, 0x7d
push ds
lea eax, [edx + 1]
mov dword [ecx], eax
mov eax, dword [ecx + 0x18]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + edx*4]
je 0x458870
push dword [eax + edx*4]
call fcn.00460091
mov al, 1
pop ebp
ret 4
sub eax, 0x82
je 0x458a2f
sub eax, 0x8f
je 0x498646
dec eax
sub eax, 1
je 0x498632
sub eax, 0x1ff
je 0x498617
sub eax, 0xef
je 0x458a1d
pop dword [eax]
add byte [eax], al
je 0x4985c5
mov eax, edi
sub eax, 1
je 0x4589e7
sub eax, 1
jne 0x498566
push 1
push esi
call dword [0x49c718]
mov ecx, 0x4d1990
call fcn.004588bc
call fcn.0045941a
xor eax, eax
jmp 0x4589a8
push 0
push 0x2ee
add byte [eax], al
push 1
push esi
call dword [0x49c724]
push 0x49cad4
call dword [0x49c720]
cmp dword [0x4d1990], 0
mov dword [0x4d2528], eax
jne 0x4589e3
add byte [eax - 0x2c], ch
retf 0x49
call dword [0x49c71c]
mov dword [0x4d1990], eax
jmp 0x4589e3
push dword [ebp + 0xc]
push ecx
push ecx
push esi
mov ecx, 0x4d1990
call fcn.00458a39
jmp 0x4589e3
push 0
call dword [0x49c714]
jmp 0x4589e3
lea eax, [ebp - 0x38]
mov dword [ebp - 0x3c], 0x30
add byte [eax], al
push 0
push eax
mov edi, ecx
call fcn.00477b0a
mov eax, dword [ebp + 0x14]
add esp, 0xc
mov ecx, dword [edi + 0x9d0]
xor esi, esi
mov dword [ebp - 4], ecx
push 8
pop ebx
push 1
pop edx
sub eax, 0x200
jne 0x498665
push 0x40
pop esi
push 0xfffffffffffffff5
mov ecx, edi
call fcn.00458a96
test dword [edi + 0xc], esi
jne 0x49872e
pop edi
pop esi
pop ebx
leave
ret 0x10
add bh, al
add eax, 0x4d23f0
add byte [eax], al
add al, ch
dec esi
je 0x458cdc
add byte [ebp - 0x17d7dbb4], cl
add eax, 0x548d0000
and al, 0x28
mov ecx, edx
call fcn.00458b21
push 0x49cb28
lea ecx, [esp + 0x2c]
call fcn.00458b90
lea eax, [esp + 0x28]
mov ecx, 0x4d23c8
push eax
call fcn.0045a929
lea ecx, [esp + 0x18]
call fcn.0046012b
lea ecx, [esp + 0x18]
call fcn.0045fe8d
lea eax, [esp + 0x10]
xor esi, esi
push eax
push 1
push esi
push 0x49caf4
push 0x80000001
call dword [0x49c018]
test eax, eax
je 0x498940
lea ecx, [esp + 0x18]
call fcn.0045f059
lea ecx, [esp + 0x28]
call fcn.0045f059
pop edi
pop esi
mov eax, 0x4d2390
pop ebx
mov esp, ebp
pop ebp
ret 8
inc esp
ja 0x459203
invalid
ret
ret
mov edx, 0x5efffffc
adc byte [ebp + 0x336974f6], al
sal byte [ebx], 0xdb
mov word [esi], ax
lea eax, [ebp - 8]
push eax
push 1
push ebx
push edx
push ecx
call dword [0x49c018]
test eax, eax
jne 0x459363
mov eax, dword [ebp + 0xc]
push edi
lea edi, [eax + eax]
lea eax, [ebp - 4]
mov dword [ebp - 4], edi
push eax
push esi
push ebx
push ebx
push dword [ebp + 8]
push dword [ebp - 8]
call dword [0x49c020]
test eax, eax
jne 0x45934a
mov eax, dword [ebp - 4]
shr eax, 1
mov dword [ebp - 4], eax
cmp eax, dword [ebp + 0xc]
jae 0x45935a
xor ecx, ecx
mov word [esi + eax*2], cx
mov bl, 1
push dword [ebp - 8]
call dword [0x49c01c]
mov al, bl
pop edi
pop esi
pop ebx
leave
ret
xor eax, eax
mov word [edi + esi - 2], ax
jmp 0x459348
xor al, al
jmp 0x459356
add byte [eax - 0x37], al
dec ecx
add byte [ecx], bh
xor eax, 0x4d1928
jbe 0x4593ce
add byte [esi + 0x22], dh
mov eax, dword [0x4d1924]
push 4
push dword [eax + esi*4]
call fcn.00475597
mov eax, dword [0x4d1924]
pop ecx
pop ecx
mov dword [eax + esi*4], edi
inc esi
cmp esi, dword [0x4d1928]
jb 0x4593ac
push dword [0x4d1924]
mov dword [0x4d1928], edi
call fcn.004755de
pop ecx
mov ecx, 0x4d190c
mov dword [0x4d190c], 0x49c93c
call fcn.00456f9f
push dword [0x4d1910]
call fcn.004755de
pop ecx
mov ecx, 0x4d18f0
call fcn.0045f059
mov eax, dword [0x4d18e0]
pop edi
test eax, eax
jne 0x498c00
pop esi
ret
push esi
push edi
call fcn.0045999d
push 0xf
pop esi
mov edi, 0x4d1b24
sub edi, 0x10
mov ecx, edi
call fcn.0045f059
out dx, eax
adc byte [ebx + 0x5a8ee8cf], cl
add byte [eax], al
sub esi, 1
jne 0x4595c1
mov eax, dword [0x4d1a20]
test eax, eax
jne 0x498c93
mov ecx, 0x4d1a0c
call fcn.0045f059
jb 0x45963f
add byte [eax], al
mov ecx, 0x4d19fc
call fcn.0045f059
mov ecx, 0x4d19ec
call fcn.0045f059
mov ecx, 0x4d19dc
call fcn.0045f059
mov ecx, 0x4d19cc
call fcn.0045f059
mov ecx, 0x4d19bc
call fcn.0045f059
pop edi
mov ecx, 0x4d19ac
pop esi
jmp fcn.0045f059
fsub qword [ebx]
dec ebp
add byte [eax], al
push esi
push edi
jne 0x459791
mov eax, dword [0x4d23a0]
test eax, eax
je 0x459795
mov esi, dword [0x4d2398]
xor ecx, ecx
push 4
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004755d5
mov edi, dword [0x4d23a0]
pop ecx
xor ecx, ecx
mov dword [ebp - 0xc], eax
mov dword [0x4d23a4], eax
mov edx, ecx
mov dword [ebp - 0x10], ecx
test edi, edi
jle 0x4596aa
mov edi, eax
mov eax, dword [esi]
mov dword [edi + edx*4], eax
inc edx
mov edi, dword [0x4d23a0]
mov esi, dword [esi + 0xc]
cmp edx, edi
jge 0x4596aa
mov edi, dword [0x4d23a4]
jmp 0x45968f
xor eax, eax
mov dword [ebp - 0x2c], ecx
inc eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 4], eax
lea esi, [edi + 1]
mov dword [ebp - 8], eax
mov eax, esi
mov dword [ebp - 0x24], ecx
xor ecx, ecx
push 0x10
pop edx
mul edx
mov dword [ebp - 0x30], 0x49cc4c
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.004755d5
pop ecx
test eax, eax
je 0x498cab
lea edx, [eax + 4]
mov dword [eax], esi
xor eax, eax
mov ecx, edx
test esi, esi
je 0x459715
mov dword [ecx], 0x49cc4c
lea ecx, [ecx + 0x10]
mov dword [ecx - 0xc], eax
mov dword [ecx - 8], eax
mov dword [ecx - 4], eax
sub esi, 1
jne 0x4596fe
mov dword [0x4d23dc], edx
adc eax, 0x4d23dc
mov esi, eax
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc], 0x10
push edx
call fcn.00459799
test eax, eax
je 0x459769
cmp word [eax], 0x3b
lea ecx, [ebp - 0x30]
je 0x498cb4
push ecx
push eax
push edx
call fcn.0045f65a
test eax, eax
js 0x45976d
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x30]
add ecx, dword [0x4d23dc]
push eax
call fcn.004597c1
mov edx, dword [ebp - 8]
inc edx
add dword [ebp - 0xc], 0x10
mov dword [ebp - 8], edx
jmp 0x459727
mov byte [ebp - 0x10], 1
lock add dword [ebp + 0x45c7d04d], ecx
ror byte [esp + ecx*8 + 0x49], 1
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], 0x49cc4c
call fcn.0045990a
add al, ch
mov es, word [ecx]
add byte [eax], al
push dword [ebp - 0x2c]
call fcn.004755de
mov al, byte [ebp - 0x10]
pop ecx
mov esi, 0x458a0001
invalid
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov al, 1
jmp 0x459788
xor al, al
jmp 0x459788
mov edi, eax
pop ecx
jne 0x498d43
mov dword [esi + 4], edi
mov eax, dword [ebx + 8]
xor ebx, ebx
mov dword [esi + 8], eax
mov dword [ebp - 4], ebx
test eax, eax
je 0x459878
push 0xc
call fcn.004755a5
mov edi, eax
mov eax, dword [ebp + 8]
pop ecx
mov ecx, dword [eax + 4]
mov ebx, dword [ecx + ebx*4]
movzx ecx, word [ebx + 8]
mov eax, ecx
mov word [edi + 8], cx
mov cx, word [ebx + 0xa]
mov word [edi + 0xa], cx
cmp ax, 0x3f
jle 0x459881
push 0x10
pop ecx
cmp ax, cx
je 0x498d51
cmp ax, 0x20
je 0x4598b4
mov eax, dword [ebx]
mov dword [edi], eax
mov ebx, dword [ebp - 4]
mov eax, dword [esi + 4]
mov dword [eax + ebx*4], edi
inc ebx
mov dword [ebp - 4], ebx
cmp ebx, dword [esi + 8]
jb 0x459825
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 4
cmp ax, 0x30
jl 0x459850
push 0x10
pop eax
push eax
call fcn.004755a5
mov edx, dword [ebx]
pop ecx
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
inc dword [ecx]
jmp 0x459864
fld qword [ebx]
fstp qword [edi]
jmp 0x459866
add bh, dh
fist word [ebx]
neg esi
adc byte [eax - 0x18], dl
daa
pop esi
add byte [eax], al
push dword [edi]
push dword [esi*4 + 0x4b1370]
call fcn.0047a9fc
pop ecx
pop ecx
jo 0x45a248
dec ebx
add al, ch
rol byte [edi], 2
add byte [ecx + 0x59], bl
test eax, eax
je 0x45a24d
inc esi
cmp esi, 0x2d
jl 0x45a22e
or eax, 0xffffffff
jmp 0x45a24f
mov eax, esi
pop edi
pop esi
ret
jge 0x45a26c
mov ecx, esi
mov eax, dword [ebx + 4]
add eax, dword [edi + 4]
push eax
call fcn.0045ba3a
add byte [eax], al
mov eax, dword [ebx + 4]
add eax, eax
push eax
push dword [ebx]
push dword [esi]
call fcn.004765ea
mov eax, dword [edi + 4]
mov edx, dword [ebx + 4]
mov ecx, dword [esi]
push cs
lea eax, [eax*2 + 2]
push eax
push dword [edi]
lea ecx, [ecx + edx*2]
push ecx
call fcn.004765ea
mov ecx, dword [ebx + 4]
add esp, 0x18
add ecx, dword [edi + 4]
mov eax, esi
mov dword [esi + 4], ecx
pop edi
pop esi
pop ebx
pop ebp
ret 8
aam 3
add byte [ebx + 0x56], dl
mov esi, ecx
push edi
lea eax, [esi + 0x14]
mov ecx, eax
mov dword [ebp - 0x10], eax
call fcn.0045bfaa
mov eax, dword [ebp + 8]
and dword [esi], 0
mov byte [esi + 0x24], 0
cmp word [eax], 0x21
je 0x499414
lea ecx, [esi + 4]
push eax
mov dword [ebp + 8], ecx
call fcn.0045c321
xor esi, esi
xor eax, eax
xor edi, edi
mov dword [ebp - 8], esi
mov esi, dword [ebp + 8]
xor bl, bl
mov dword [ebp - 0xc], eax
xor bh, bh
push edi
mov ecx, esi
call fcn.0045a437
push 0x20
add byte [edx + 0x20], ch
pop ecx
movzx eax, word [eax]
cmp ax, cx
je 0x499420
push 9
pop ecx
cmp ax, cx
je 0x499420
mov esi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
push edi
call fcn.0045a437
inc edi
movzx eax, word [eax]
test ax, ax
je 0x45a3f3
cmp esi, 0x1000
jge 0x45a3f3
push 0x20
pop ecx
cmp ax, cx
je 0x45a38b
push 9
pop ecx
cmp ax, cx
je 0x45a38b
push 0x22
pop ecx
cmp ax, cx
je 0x45a36a
mov word [ebp + esi*2 - 0x202c], ax
inc esi
jmp 0x45a325
mov ecx, dword [ebp + 8]
push edi
call fcn.0045a437
push 0x22
pop ecx
cmp word [eax], cx
je 0x499426
test bl, bl
je 0x45a3e9
xor bl, bl
test bl, bl
je 0x45a325
jmp 0x45a3eb
cmp bl, 1
je 0x45a35f
xor eax, eax
lea ecx, [ebp - 0x20]
mov word [ebp + esi*2 - 0x202c], ax
lea eax, [ebp - 0x202c]
push eax
call fcn.0045f47d
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x20]
push eax
call fcn.0045a929
lea ecx, [ebp - 0x20]
call fcn.0045f059
xor esi, esi
xor bh, bh
mov dword [ebp - 8], esi
mov esi, dword [ebp + 8]
push edi
mov ecx, esi
call fcn.0045a437
push 0x20
pop ecx
movzx eax, word [eax]
cmp ax, cx
je 0x45a3e6
push 9
pop ecx
cmp ax, cx
jne 0x45a322
inc edi
jmp 0x45a3c7
mov bl, 1
mov dword [ebp - 0xc], esi
jmp 0x45a325
test esi, esi
je 0x49943d
test bl, bl
jne 0x499452
xor eax, eax
lea ecx, [ebp - 0x20]
mov word [ebp + esi*2 - 0x202c], ax
lea eax, [ebp - 0x202c]
push eax
call fcn.0045f47d
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x20]
push eax
call fcn.0045a929
lea ecx, [ebp - 0x20]
call fcn.0045f059
pop edi
pop esi
pop ebx
leave
ret 4
mov dword [0x4d18dc], ebx
mov dword [0x4d18e0], ebx
mov dword [0x4d18e4], ebx
mov byte [0x4d18e8], bl
call fcn.0046012b
push 3
pop esi
push 0x7c
pop eax
mov word [0x4d18c4], ax
xor eax, eax
mov dword [0x4d190c], 0x49c93c
mov dword [0x4d1910], ebx
mov dword [0x4d1914], ebx
mov dword [0x4d1918], ebx
mov dword [0x4d191c], edi
mov dword [0x4d1920], 0x49c940
mov dword [0x4d1924], ebx
mov dword [0x4d1928], ebx
mov dword [0x4d192c], ebx
mov dword [0x4d1930], esi
mov dword [0x4d1934], 2
dec ebp
add bh, al
add eax, 0x4d1920
inc eax
leave
dec ecx
add byte [ecx + 0x4d19241d], cl
add byte [ecx + 0x4d19281d], cl
add byte [ecx + 0x4d192c1d], cl
add byte [ecx + 0x4d193035], cl
add bh, al
add eax, 0x4d1934
add al, byte [eax]
add byte [eax], al
mov dword [0x4d1938], ebx
mov dword [0x4d193c], ebx
mov dword [0x4d1940], ebx
mov dword [0x4d1944], edi
mov dword [0x4d1948], edi
cmp byte [ecx], bl
dec ebp
add byte [ecx + 0x4d193c1d], cl
add byte [ecx + 0x4d19401d], cl
add byte [ecx + 0x4d19443d], cl
add byte [ecx + 0x4d19483d], cl
add byte [ecx + 0x4d197c1d], cl
add byte [ecx + 0x4d19801d], cl
add byte [ecx + 0x4d19841d], cl
add byte [ecx + 0x4d19883d], cl
add byte [esi - 0x5d], ah
invalid
dec eax
sbb dword [ebp], ecx
mov dword [0x4d197c], ebx
mov dword [0x4d1980], ebx
mov dword [0x4d1984], ebx
mov dword [0x4d1988], edi
mov word [0x4d18c6], ax
call fcn.004592ba
test al, al
jne 0x499480
in eax, dx
invalid
mov dword [ebp - 4], ebx
lea eax, [ebp - 4]
mov ecx, 0x4d1920
push eax
call fcn.0045a9c1
sub esi, 1
jne 0x45a571
add al, 0
add byte [ebx - 0x128afe12], al
pop edi
pop esi
mov eax, 0x4d18b0
pop ebx
leave
ret
dec ecx
add al, ch
ror cl, 1
invalid
add al, ch
mov edi, 0x590001af
pop edi
pop esi
ret
push 0x4c3590
push esi
call dword [0x49c1a0]
test eax, eax
je 0x45a64c
push dword [edi]
call eax
test esi, esi
je 0x45a657
push esi
call dword [0x49c198]
pop edi
pop esi
ret
je 0x45a685
push edi
call eax
test esi, esi
je 0x45a690
push esi
call dword [0x49c198]
mov eax, edi
pop edi
pop esi
ret
inc esi
add al, 0x89
inc ebp
in al, dx
call 0x2cd1ca
jmp [edx + 0x5c]
fbstp tbyte [esi + 0x22]
clc
clc
add byte [edi], cl
test dword [esi], ebp
jmp 0x45abe9
add byte [ecx], al
add byte [ebx + 0x57], dl
add dword [eax], eax
add byte [ecx + 0x458b3046], cl
hlt
outsd dx, dword [esi]
fcomp dword [ebx]
retf 0x4d39
fiadd dword [eax]
mov ecx, dword [ebp + 0xc]
push 0x49cc08
mov dword [esp + 0x14], eax
call fcn.0045f438
mov edi, dword [ebp + 8]
cmp dword [edi + 8], 2
jne 0x45af9d
mov eax, dword [edi + 4]
mov ecx, dword [eax + 4]
call fcn.00460d31
mov esi, eax
mov dword [esp + 0x10], esi
cmp esi, 0xffffffff
je 0x49985e
test esi, esi
jle 0x499874
mov eax, dword [edi + 4]
mov eax, dword [eax]
cmp dword [eax + 0xc], 4
jne 0x4998f2
push 0x38
call fcn.004755a5
mov edi, eax
mov dword [esp], 0x10000
and dword [edi], 0
call fcn.004755d5
pop ecx
mov ecx, edi
mov dword [edi + 4], eax
call fcn.0045ba10
lea ecx, [edi + 0x18]
call fcn.0046012b
mov ecx, edi
call fcn.0045ba10
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov ecx, esi
call fcn.0045ccda
mov esi, dword [esi + 8]
mov ecx, edi
call fcn.0045ba10
mov eax, 0x8000
mov ecx, edi
push eax
push esi
mov dword [edi + 0x28], eax
call fcn.0045af0f
test al, al
je 0x49986c
mov ecx, edi
call fcn.0045ad64
mov ecx, edi
call fcn.0045aba8
mov ecx, edi
call fcn.0045ab91
test byte [edi + 0x28], 3
jne 0x4998a3
push 0x400
lea ecx, [esp + 0x1c]
call fcn.0045ba3a
mov esi, dword [esp + 0x10]
xor al, al
mov byte [esp + 0xf], al
mov ecx, edi
test esi, esi
je 0x49995d
call fcn.0045ab91
and dword [esp + 0x10], 0
test esi, esi
jle 0x45b088
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.0045efd1
test al, al
je 0x499920
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, esi
jl 0x45b05f
mov al, byte [esp + 0xf]
test al, al
jne 0x45b095
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x18]
push eax
call fcn.0045ba7f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp dword [eax + 0xc], 4
jne 0x45b0b6
mov ecx, edi
call fcn.0045ba10
test edi, edi
je 0x45b0b6
push ecx
mov ecx, edi
call fcn.0045b9e0
lea ecx, [esp + 0x18]
call fcn.0045f059
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
jge 0x45b23b
sbb eax, 0xe8530774
mov byte [0x590001a3], al
add byte [ecx + 0x33], bl
test byte [ebp - 0x17cfdbb4], 0x22
jne 0x45b247
xor esi, esi
lea ecx, [esp + 0x30]
call fcn.0046276a
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
add byte [edi - 0x75], bl
invalid
sub eax, 0x37004442
inc edx
inc esp
add byte [ebx + 0x59], bh
inc eax
add byte [esi + 0x59], bh
jle 0x45b2c1
inc eax
add byte [edx], ch
inc edx
inc esp
add byte [esi + 0x42], dh
inc esp
add byte [0x6c004442], ah
inc edx
inc esp
add byte [esi + 0x42], bh
inc esp
add byte [ebx], dh
inc edx
inc esp
add byte [edx + eax*2 + 0x59830044], ch
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add al, byte [ebx]
add al, byte [eax + 0x5050c06]
add al, 7
add eax, dword [eax]
pop es
or byte [ecx], cl
or cl, byte [edx]
or cl, byte [edx]
add eax, dword [eax]
or edx, dword [ebp - 0x75]
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x28
push ebx
push esi
mov esi, dword [0x4d191c]
push edi
cmp eax, 0xc
je 0x499af0
add eax, dword [eax]
cmp eax, 0xd
jle 0x45b2e3
cmp eax, 0xf
jle 0x499af0
cmp eax, 0x11
je 0x499af0
cmp eax, 0x14
je 0x499af0
cmp esi, 0xffffffff
je 0x499fe6
mov eax, dword [0x4d1910]
mov eax, dword [eax + esi*4]
mov ebx, dword [eax]
push ebx
mov dword [ebp - 0x1c], ebx
call fcn.0045b898
mov edi, eax
and al, 0x95
xchg edx, eax
pop esp
inc eax
add bh, bh
jne 0x45b3db
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push edi
push esi
push ebx
call fcn.0045b6f2
mov edx, dword [ebp + 8]
test al, al
je 0x499e35
mov ecx, dword [ebp + 0x28]
mov byte [esi + 0x90], dl
mov byte [esi + 0x91], cl
mov eax, dword [0x4d191c]
sub byte [eax + 0x9096], cl
add byte [eax + 0x918e], cl
add byte [ecx + 0x4d191c], ah
mov dword [0x4d1948], eax
mov dword [0x4d1944], edi
test cl, 1
je 0x499e56
test cl, 4
je 0x499ead
add byte [ebx + 0x7500d87d], al
or dword [edx], ebp
cmp dword [ebp - 0x28], 0
jne 0x45b419
push 0
push esi
push ebx
call 0x45b4d4
cmp byte [ebx + 0x198], 0
jne 0x499f9c
cmp dword [ebx + 0x50], 0xffffffff
jne 0x499fbe
push eax
dec dword [edi]
test dword [esi - 0x7cfffc15], ecx
jnp 0x45b487
cmp dword [ebx + 0x54], 0xffffffff
jne 0x499fcc
dec dword [edi]
test dword [edx - 0x7cfffc15], edx
add byte ds:[ebx + ecx + 0x57], dh
xchg edx, eax
jmp 0x45b43c
cmp dword [esi], 0
je 0x45b44a
add byte [ebx + ecx + 0x57], dh
push edi
push 0xffffffffffffffeb
push dword [esi]
call dword [0x49c504]
lea ecx, [ebp + 0x2c]
call fcn.0046276a
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 0x34
add byte [esi], bl
inc ebp
inc esp
add byte [ebp + eax*2 + 0x44], al
add byte [eax], dl
dec eax
inc esp
add byte [esi], ch
inc ebp
inc esp
add byte [ebp + eax*2 + 0x44], dl
add byte [ebp + 0x45], ch
inc esp
add byte [ecx - 0x55ffbbbb], cl
inc esp
inc esp
add byte [esi + eax*2], dl
inc esp
add byte [edx], dh
inc esi
inc esp
add byte [ebx + 0x46], ah
inc esp
add bh, ch
inc esp
inc esp
add byte [ebp + eax*2 + 0x45ba0044], bl
inc esp
add al, bl
inc ebp
inc esp
add dh, dh
inc ebp
inc esp
add dl, ch
pop ebx
inc eax
add byte [esi], bl
inc esp
inc esp
add byte [ebp + 0x46], al
inc esp
add byte [ebp - 0x75], dl
in al, dx
sub esp, 0x38
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
cmp byte [edi + 0x3a], 0
jne 0x45b666
movzx ebx, word [esi + 0x86]
lea eax, [ebp - 0x34]
push eax
push dword [edi]
call dword [0x49c640]
mov eax, dword [edi + 0x44]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
mov eax, dword [edi + 0x48]
mov dword [ebp + 0x10], edx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
test edx, edx
je 0x49a026
test ecx, ecx
leave
je 0x49a040
cmp dword [edi + 0x19c], 0
jne 0x49a053
lea eax, [ebp - 0x34]
push eax
push dword [esi]
call dword [0x49c6a0]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x34]
sub eax, ecx
mov edx, dword [ebp - 0x28]
mov dword [ebp + 8], eax
mov eax, dword [ebp - 0x30]
sub edx, eax
add byte [ebx + 0x4d8bd445], cl
int3
inc ebp
or byte [ebx - 0x2fd42fbb], cl
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
in al, 0x50
push dword [edi]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x1c], ecx
call dword [0x49c758]
mov eax, dword [ebp - 0x1c]
imul eax, dword [ebp + 0xc]
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
cdq
idiv dword [ebp + 0x10]
mov word [esi + 0x88], ax
mov eax, dword [ebp - 0x18]
imul eax, edi
cdq
inc ebp
call 0x9a0d6497
idiv ecx
mov word [esi + 0x8a], ax
add byte [eax], al
mov eax, dword [ebp + 8]
imul eax, dword [ebp + 0xc]
cdq
idiv dword [ebp + 0x10]
mov word [esi + 0x8c], ax
mov eax, dword [ebp - 0x10]
imul eax, edi
cdq
idiv ecx
mov word [esi + 0x8e], ax
test bx, bx
je 0x45b65f
test ebx, 0x100
je 0x45b5f2
mov eax, dword [ebp + 8]
movzx eax, ax
mov word [esi + 0x8c], ax
test bl, 6
jne 0x45b5f2
test bl, 8
jne 0x49a063
mov eax, dword [ebp + 0x10]
cdq
sub eax, edx
mov edx, dword [ebp - 0x1c]
sar eax, 1
cmp edx, eax
jg 0x49a082
test ebx, 0x200
je 0x49a0e6
mov eax, dword [ebp - 0x10]
movzx eax, ax
mov word [esi + 0x8e], ax
test bl, 0x60
jne 0x49a0e6
test bl, bl
js 0x49a0ac
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp - 0x18]
sar eax, 1
cmp edx, eax
jg 0x49a0c8
mov ecx, dword [ebp - 0x1c]
mov eax, ebx
and eax, 2
mov dword [ebp - 0x14], eax
jne 0x49a0ee
test bl, 4
jne 0x49a0fa
mov eax, ebx
and eax, 0x20
mov dword [ebp + 0x10], eax
jne 0x49a156
test bl, 0x40
jne 0x49a162
pop edi
pop esi
pop ebx
leave
ret 0xc
cmp byte [esi + 0x90], 7
mov ax, word [edi + 0x58]
mov word [esi + 0x88], ax
mov ax, word [edi + 0x5c]
mov word [esi + 0x8a], ax
je 0x45b6ea
mov ax, word [edi + 0x60]
mov word [esi + 0x8c], ax
mov ax, word [edi + 0x64]
mov word [esi + 0x8e], ax
lea eax, [ebp - 0x24]
push eax
push dword [esi]
call dword [0x49c640]
or ebx, 0xffffffff
cmp dword [edi + 0x58], ebx
je 0x499ff4
cmp dword [edi + 0x5c], ebx
je 0x49a004
lea eax, [ebp - 0x24]
push eax
push dword [esi]
call dword [0x49c6a0]
cmp dword [edi + 0x60], ebx
je 0x49a014
jmp 0x5f7eb6d6
add eax, dword [eax]
cmp dword [edi + 0x64], ebx
je 0x45b6df
cmp byte [esi + 0x90], 0
jne 0x45b65f
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
jmp 0x49a188
loopne 0x45b6cf
sahf
ljmp 0x10
cmp byte [ebp + 0x10], 0
je 0x45b69b
jmp 0x45b685
push dword [ebp + 0x1c]
push ecx
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
call dword [0x49c72c]
mov esi, eax
test esi, esi
je 0x45b846
invalid
cmp byte [ebp + 0x34], bl
je 0x45b83a
push ebx
push 0x11
call dword [0x49c138]
push eax
push 0x30
push esi
call dword [0x49c694]
cmp dword [edi + 0x18c], ebx
jge 0x49a1bd
pop edi
mov eax, esi
pop esi
pop ebx
pop ebp
ret 0x30
dec ebp
add byte [ebx - 0x77ce7b3], cl
add dword [edi], ecx
test dword [ecx + ebp*8 + 3], ebp
add byte [ebx - 0x77cf7bb], cl
push dword [ebx + eax - 0x77]
inc ecx
pop eax
mov eax, dword [ebp + 0xc]
cmp eax, 0xffffffff
je 0x45b880
mov dword [ecx + 0x5c], eax
mov eax, dword [ebp + 0x10]
test eax, eax
js 0x45b88a
mov dword [ecx + 0x60], eax
mov eax, dword [ebp + 0x14]
test eax, eax
js 0x45b894
mov dword [ecx + 0x64], eax
pop ebp
ret 0x14
add byte [edi + edi*2 + 0x68], dh
mov al, byte [0xe8000000]
jecxz 0x45b85c
add dword [eax], eax
pop ecx
mov ecx, eax
call fcn.0045b943
mov edi, eax
mov ecx, 0x4d1920
lea eax, [ebp - 4]
mov dword [ebp - 4], edi
push eax
call fcn.0045a9c1
mov esi, dword [0x4d1934]
inc esi
mov dword [0x4d1934], esi
add dword [esi + 0x1e], esi
cmp dword [esi + 0xc], 1
je 0x4985ec
cmp dword [esi + 0xc], 2
je 0x4985ec
cmp dword [esi + 0xc], 3
je 0x4985ec
call fcn.004996d1
mov ecx, esi
pop esi
test al, al
jne 0x4a9540
jmp fcn.00499bb9
pop esi
ret
or esi, dword [ebx]
rcr byte [edi + 0x5e], cl
int3
in al, dx
cmp dword [ebx], edi
mov ah, bh
add al, byte [ebx]
add byte [eax], al
inc edi
mov dword [ebp - 8], edi
add eax, dword [eax]
add byte [edi - 0x77], al
jge 0x49893f
jmp fcn.0049876b
add byte [edx], dl
adc dl, byte [edx]
adc dl, byte [edx]
adc dl, byte [edx]
add dword [edx], edx
adc dl, byte [edx]
add al, byte [ecx]
add eax, dword [eax + 0x12080706]
dec esi
or byte [ebx + 0x3c890446], cl
mov bh, bh
inc esi
or byte [edi + 0x5e], bl
inc ecx
add byte [eax], al
dec eax
mov eax, dword [ecx + 8]
mov eax, dword [eax]
cmp word [eax], 0x30
je 0x499422
xor al, al
ret
rol bl, 0xf
mov bh, 0x40
add al, byte [ebx + 0x37578f8]
movzx eax, word [eax + 2]
cmp eax, 0x78
jne 0x49942e
mov al, 1
ret
cmp eax, 0x58
jne 0x49941f
jmp 0x49942b
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ebx, ecx
inc dword [edi]
xor esi, esi
mov edx, dword [edi]
mov dword [eax], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx*4]
movsx eax, word [eax + 8]
sub eax, 0x47
je 0x49948c
sub eax, 1
je 0x499471
sub eax, 0x37
je 0x4de1a2
inc edx
mov dword [edi], edx
jmp 0x499452
test esi, esi
jne 0x499489
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
lea eax, [edx + 1]
mov dword [edi], eax
xor eax, eax
pop edi
pop esi
pop ebx
rcr byte [edi + 0x5e], 0x5b
pop ecx
pop ebp
ret 0x10
dec esi
jmp 0x49946c
inc esi
jmp 0x49946c
les ecx, [edx + ebp*2]
adc byte [edi - 0x18], dl
or dword [ebp + 1], ecx
add byte [ebx + 0x46c708c4], al
inc esi
or byte [eax], al
add byte [eax], al
add byte [ebx - 0x77cf3ba], cl
or al, 0x83
clc
add eax, 0xc75f107d
inc esi
or al, 1
add byte [eax], al
add bh, al
push es
add byte [eax], al
add byte [eax], al
pop edi
mov dword [esi + 0xc], 1
mov dword [esi], 0
pop esi
ret
sbb eax, 0x46a0001
push edi
call 0x4ae571
add esp, 8
jmp case.default.0x499892
inc eax
add dh, dl
mov al, 0x40
add byte [ebx + edi*8 - 0x4f29ffbc], dl
inc eax
add byte [ebx], ch
mov cl, 0x40
add byte [esi - 0x36ffbb05], ch
sti
inc esp
add dh, bl
sti
inc esp
add dh, bl
sti
inc esp
add byte [edi], cl
mov cl, 0x40
add byte [ebp - 0x75], dl
in al, dx
sub esp, 0x24
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov dword [ebp - 4], esi
mov ecx, dword [edi + 0xc]
mov eax, ecx
mov edx, dword [esi + 0xc]
shl eax, 4
add eax, edx
mov eax, dword [eax*4 + 0x4b1428]
dec eax
cmp eax, 0xd
ja case.default.0x499942
jmp dword [eax*4 + 0x40b22c]
xchg esp, eax
rcr byte [edi + 0x5e], 0x5b
pop edi
pop esi
pop ebx
xor al, al
jmp fcn.0049995f
clc
add cl, byte [edi]
test byte [ecx + 0x4a], dh
add al, 0
call 0x4a9540
mov ecx, esi
call fcn.00499e59
fadd qword [ebx]
fstp qword [ebx]
jmp fcn.00499a83
les eax, [ecx + 0x74]
sbb al, 0x32
rcr byte [edi + 0x5e], 0x5b
add ebx, ebp
loop 0x499eaf
push ebp
int3
int3
test byte [eax], ch
add al, byte [eax]
add byte [ebx + 0xa9f045], cl
add dword [eax], eax
add byte [edi], cl
test dword [edx - 0x56fffbb5], esp
add byte [eax + eax], al
add byte [edi], cl
test dword [edx - 0x39fffbb7], esi
inc ebp
cli
add dword [ebx - 0x3e09efb3], ecx
add dword [esp + ebx*2 - 0x7d], esi
stc
add dword [edi], ecx
test esp, eax
dec ecx
add al, 0
add byte [eax], al
add bh, bh
add byte [eax], al
lock add byte [edx], al
add byte [eax], al
test dword [ecx], eax
add al, byte [eax]
add byte [eax + 0xf00fb7d], al
test eax, esi
dec ecx
add al, 0
dec eax
add al, 0x8b
add al, 0x91
inc edx
add dword [ecx - 0x7efb74f9], ecx
jo 0x49a0a9
dec ebp
add byte [ebp + ebx - 0x7d], dh
jle 0x49a097
add al, 0xf
test byte [edx + ecx*2], cl
add al, 0
add byte [eax], al
pop ss
add al, 0x8d
or al, 0x90
clc
inc edi
clc
inc eax
ror byte [edi], 0x88
stosd dword es:[edi], eax
dec ecx
add al, 0
xor ecx, dword [edi]
test byte [eax - 3], dh
invalid
mov esi, ecx
mov ecx, dword [esi + 4]
mov dword [esi], 0x49cc60
mov eax, dword [ecx]
cmp eax, 1
jne 0x4a95bf
push ebx
push edi
xor ebx, ebx
mov eax, dword [esi + 0x14]
mov edi, dword [ebx + eax]
test edi, edi
jne 0x4a9596
add ebx, 4
cmp ebx, 0x400
jl 0x4a9556
push eax
call 0x4ae9b8
pop ecx
mov ecx, dword [esi + 0x10]
pop edi
pop ebx
test ecx, ecx
je 0x4a9581
mov eax, dword [ecx]
push 1
call dword [eax]
push 4
push dword [esi + 4]
call 0x4ae971
pop ecx
pop ecx
mov dword [esi], 0x49cc50
pop esi
leave
ret
mov ecx, dword [edi + 0x28]
mov eax, dword [edi + 4]
mov dword [ebp - 4], eax
test ecx, ecx
je 0x4a95a9
push ecx
call 0x4a95e6
push ecx
mov ecx, edi
call 0x4a95cb
mov eax, dword [ebp - 4]
mov edi, eax
test eax, eax
jne 0x4a9596
mov eax, dword [esi + 0x14]
jmp 0x4a9560
cmp eax, 0x7fffffff
je 0x4a9552
dec eax
mov dword [ecx], eax
jmp 0x4a958d
jle 0x4de1a2
dec eax
add bh, al
add eax, 0x4ccefc
add byte [eax], al
add byte [eax], al