Function at 0x42b42d
Capabilities:
Encode data using base64
Encrypt data using speck
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xfc
mov eax, dword fs:[0x2c]
mov dword [esp + 0x18], ecx
push ebx
push esi
mov ecx, dword [eax]
mov eax, dword [0x4d2580]
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x8c], ecx
cmp eax, dword [ecx + 4]
jg 0x42c627
mov ebx, dword [ebp + 0x10]
xor esi, esi
xor al, al
mov word [esp + 0x54], 1
push 8
mov byte [esp + 0x1f], al
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x34], esi
mov word [esp + 0x38], 1
call fcn.0043c5c8
mov ecx, dword [edi]
mov edx, eax
add esp, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], 1
mov dword [edx], 0x14
mov dword [edx + 4], esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x14], 0x17
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4]
mov ecx, dword [0x49c470]
mov dword [esp + 0x70], ecx
movsx eax, word [eax + 0xa]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [edi]
cmp ecx, eax
je case.default.0x42b51f
mov edi, dword [esi + 4]
mov esi, dword [edi + ecx*4]
movzx eax, word [esi + 8]
mov edx, eax
cmp ax, 0x7f
je case.default.0x42b51f
movsx eax, dx
cmp eax, 0x33
je 0x42b5ad
cmp eax, 0x4f
je case.default.0x42b51f
cmp eax, 5
je 0x42b9c2
cmp eax, 0x58
ja case.default.0x42b51f
movzx eax, byte [eax + 0x40ffe4]
jmp dword [eax*4 + 0x40ff78]
mov ebx, 0x14
mov dword [esp + 0x14], ebx
mov cl, byte [esp + 0x1b]
mov edx, dword [esp + 0x20]
test cl, cl
jne 0x42bba0
mov eax, edx
imul eax, dword [eax], 0x15
movzx eax, byte [eax + ebx + 0x4b1840]
cmp eax, 3
jne 0x42b8ed
cmp dword [esp + 0x2c], 1
jne 0x4713f8
mov eax, dword [esp + 0x30]
xor edi, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edi
test eax, eax
jne 0x42bda6
test edx, edx
je 0x42b5a2
mov esi, dword [edx + 4]
push 8
push edx
call fcn.0043c5ba
add esp, 8
mov edx, esi
test esi, esi
jne 0x42b58e
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [esp + 0x38]
mov dword [esp + 0x14], 0x16
test edi, edi
jne 0x42bd4f
cmp ebx, 0x4d02a0
je 0x42b602
mov eax, dword [ebx + 0xc]
cmp eax, 4
je 0x42c280
mov esi, dword [ebx + 8]
test esi, esi
jne 0x42c292
cmp eax, 5
jge 0x470f38
push 0x4d02a0
mov ecx, ebx
mov dword [ebx + 0xc], 1
mov dword [ebx], 0
call fcn.0042c8cd
mov eax, dword [esp + 0x10]
inc edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], edi
cmp edi, 1
jne 0x42bd8f
mov dword [esp + 0x88], ebx
cmp dword [0x4d2380], 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 ebx, dword [eax]
mov dword [esp + 0x6c], ebx
je 0x42c31b
xor al, al
test al, al
jne 0x42ba5f
cmp byte [0x4d2389], al
jne 0x4710e4
mov esi, dword [0x4d2384]
cmp dword [esi], 0
je 0x42ba5f
mov ecx, dword [esp + 0x8c]
mov eax, dword [0x4d2540]
mov byte [esp + 0x3f], 0
cmp eax, dword [ecx + 4]
jg 0x4710f1
mov dword [0x4d2560], 0
mov dword [0x4d255c], 0
mov dword [esp + 0x68], 0x4d2544
mov dword [esp + 0x64], 0x4d2544
lea esp, [esp]
mov eax, dword [esi]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x60], eax
mov dword [esp + 0x48], ecx
mov edx, dword [eax + 4]
test ecx, ecx
je 0x471134
test edx, edx
je 0x47113c
mov edi, dword [eax]
mov ebx, dword [ebx]
cmp ecx, edx
jb 0x42b95e
mov edx, ecx
test edx, edx
je 0x42b702
movzx eax, word [ebx]
mov dword [esp + 0x44], eax
movzx eax, word [edi]
mov ecx, eax
mov dword [esp + 0x40], ecx
movzx ecx, word [ebx]
cmp cx, ax
jne 0x42b706
add ebx, 2
add edi, 2
sub edx, 1
jne 0x42b6df
xor eax, eax
jmp 0x42b715
mov eax, dword [esp + 0x40]
cmp word [esp + 0x44], ax
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
js 0x42b7b9
jle 0x42b830
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x6c]
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x42b835
mov edi, dword [edx + 4]
cmp edi, ecx
ja 0x42bdf2
mov eax, dword [edx]
mov ebx, dword [ebx]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], edi
test edi, edi
je 0x42b79a
jmp 0x42b75d
movzx ecx, word [eax]
movzx eax, cx
mov dword [esp + 0x78], eax
movzx eax, word [ebx]
mov dword [esp + 0x74], ecx
mov ecx, eax
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x74]
cmp cx, ax
jne 0x42b993
mov eax, dword [esp + 0x44]
add ebx, 2
add eax, 2
sub dword [esp + 0x40], 1
mov dword [esp + 0x44], eax
jne 0x42b75d
mov ecx, dword [esp + 0x48]
cmp edi, ecx
jb 0x42b9a2
mov edx, dword [esi]
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x1c], edx
mov ebx, dword [esi]
mov dword [esp + 0x64], ebx
mov eax, dword [ebx + 0x1c]
jmp 0x42b8e2
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x6c]
mov edx, dword [eax + 0x18]
test edx, edx
je 0x42b835
mov eax, dword [edx + 4]
cmp ecx, eax
ja 0x42be36
mov edi, dword [edx]
mov ebx, dword [ebx]
mov dword [esp + 0x44], ecx
test ecx, ecx
je 0x42b8c8
lea ebx, [ebx]
movzx eax, word [ebx]
mov dword [esp + 0x74], eax
movzx eax, word [edi]
mov ecx, eax
mov dword [esp + 0x40], ecx
movzx ecx, word [ebx]
cmp cx, ax
je 0x42b8b0
cmp word [esp + 0x74], ax
jae 0x42b8d0
mov ecx, dword [esp + 0x60]
mov eax, dword [edx + 0x1c]
mov dword [ecx + 0x18], eax
mov eax, dword [esi]
mov dword [edx + 0x1c], eax
mov dword [esi], edx
cmp dword [edx + 0x18], 0
je 0x42b835
jmp 0x42b8d2
mov byte [esp + 0x3f], 1
cmp byte [esp + 0x3f], 0
mov eax, dword [esi]
mov ecx, dword [esp + 0x64]
mov eax, dword [eax + 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x18], eax
mov ecx, dword [esi]
mov eax, dword [0x4d2560]
mov dword [ecx + 0x18], eax
mov ecx, dword [esi]
mov eax, dword [0x4d255c]
mov dword [ecx + 0x1c], eax
je 0x42ba5f
mov eax, dword [esi]
test eax, eax
je 0x42ba5f
mov eax, dword [eax + 0x14]
test eax, eax
je 0x42ba5f
push dword [esp + 0x88]
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ecx, dword [esp + 0x28]
push eax
inc dword [edi]
push edi
push esi
call fcn.0042c9cd
test eax, eax
js 0x4712f2
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebp + 0x14]
jmp 0x42b4e1
add ebx, 2
add edi, 2
sub dword [esp + 0x44], 1
jne 0x42b7ed
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jb 0x42b814
mov edx, dword [esi]
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x18], edx
mov ebx, dword [esi]
mov dword [esp + 0x68], ebx
mov eax, dword [ebx + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [esi], eax
jmp 0x42b6ad
cmp eax, 6
ja case.default.0x42b8f6
jmp dword [eax*4 + 0x410040]
test edx, edx
je 0x42b702
lea esp, [esp]
movzx eax, word [ebx]
mov dword [esp + 0x44], eax
movzx eax, word [edi]
mov ecx, eax
mov dword [esp + 0x40], ecx
movzx ecx, word [ebx]
cmp cx, ax
je 0x42c26c
cmp word [esp + 0x44], ax
jmp 0x42b70f
mov eax, dword [esp + 0x5c]
cmp word [esp + 0x78], ax
jae 0x42b7a2
mov ecx, dword [esp + 0x60]
mov eax, dword [edx + 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [esi]
mov dword [edx + 0x18], eax
mov dword [esi], edx
cmp dword [edx + 0x1c], 0
je 0x42b835
jmp 0x42b7a4
mov edi, dword [esp + 0x38]
mov dword [esp + 0x14], 0x16
test edi, edi
jne 0x42be78
cmp ebx, 0x4d02a0
je 0x42ba17
mov eax, dword [ebx + 0xc]
cmp eax, 4
je 0x42bdf9
mov esi, dword [ebx + 8]
test esi, esi
jne 0x42be0b
cmp eax, 5
jge 0x470d2f
push 0x4d02a0
mov ecx, ebx
mov dword [ebx + 0xc], 1
mov dword [ebx], 0
call fcn.0042c8cd
mov edx, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
inc edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], edi
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax + ecx*4]
cmp edi, 1
jne 0x42beb8
mov edi, ebx
mov esi, dword [esi]
mov ecx, edi
call fcn.0042978d
mov eax, dword [ebp + 0x14]
mov dword [edi + 0xc], 1
mov dword [edi], esi
mov edi, dword [ebp + 0xc]
inc dword [edi]
mov esi, dword [ebp + 8]
jmp 0x42b4e1
mov ebx, dword [0x4d2370]
test ebx, ebx
je 0x4712c6
mov ecx, dword [esp + 0x8c]
mov eax, dword [0x4d2540]
mov byte [esp + 0x3f], 0
cmp eax, dword [ecx + 4]
jg 0x471149
mov dword [0x4d2560], 0
mov dword [0x4d255c], 0
mov dword [esp + 0x60], 0x4d2544
mov dword [esp + 0x64], 0x4d2544
mov esi, dword [esp + 0x6c]
mov edi, dword [ebx + 4]
mov eax, dword [esi + 4]
mov dword [esp + 0x48], eax
test eax, eax
je 0x47118e
test edi, edi
je 0x471196
mov edx, dword [ebx]
mov esi, dword [esi]
cmp eax, edi
jb 0x42bb08
mov edi, eax
test edi, edi
je 0x42bb04
lea ecx, [ecx]
movzx eax, word [esi]
mov dword [esp + 0x5c], eax
movzx eax, word [edx]
mov ecx, eax
mov dword [esp + 0x78], ecx
movzx ecx, word [esi]
cmp cx, ax
jne 0x42bc8f
add esi, 2
add edx, 2
sub edi, 1
jne 0x42badd
xor eax, eax
jmp 0x42bb34
test edi, edi
je 0x42bb04
nop
movzx eax, word [esi]
mov dword [esp + 0x5c], eax
movzx eax, word [edx]
mov ecx, eax
mov dword [esp + 0x78], ecx
movzx ecx, word [esi]
cmp cx, ax
je 0x42be41
cmp word [esp + 0x5c], ax
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
js 0x42bc9d
jg 0x42bba8
mov byte [esp + 0x3f], 1
cmp byte [esp + 0x3f], 0
mov ecx, dword [esp + 0x64]
mov eax, dword [ebx + 0x18]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x4d2370]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4d2370]
mov eax, dword [0x4d2560]
mov dword [ecx + 0x18], eax
mov ecx, dword [0x4d2370]
mov eax, dword [0x4d255c]
mov dword [ecx + 0x1c], eax
je 0x4712c6
mov eax, dword [0x4d2370]
test eax, eax
je 0x4712c6
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x42b881
jmp 0x4712c6
mov eax, dword [edx + 4]
jmp 0x42b555
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x6c]
lea ecx, [ebx + 0x1c]
mov dword [esp + 0x74], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x40], ecx
test ecx, ecx
je 0x42bb43
mov edx, dword [ecx + 4]
mov dword [esp + 0x68], edx
cmp edx, eax
jbe 0x42bbd2
mov edx, eax
mov dword [esp + 0x68], eax
cmp dword [esp + 0x68], 0
mov edi, edx
mov edx, dword [esi]
mov esi, dword [ecx]
jbe 0x42bc0a
movzx eax, word [esi]
mov dword [esp + 0x5c], eax
movzx eax, word [edx]
mov ecx, eax
mov dword [esp + 0x78], ecx
movzx ecx, word [esi]
cmp cx, ax
jne 0x42bc12
add esi, 2
add edx, 2
sub edi, 1
jne 0x42bbdf
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
cmp dword [esp + 0x68], eax
jb 0x42bc21
jmp 0x42bc44
mov eax, dword [esp + 0x78]
cmp word [esp + 0x5c], ax
jae 0x42bc44
mov ecx, dword [esp + 0x40]
mov ebx, ecx
mov ecx, dword [esp + 0x74]
mov eax, dword [ebx + 0x18]
mov dword [ecx], eax
mov eax, dword [0x4d2370]
mov dword [ebx + 0x18], eax
mov dword [0x4d2370], ebx
cmp dword [ebx + 0x1c], 0
je 0x42bb43
mov ecx, dword [esp + 0x64]
mov dword [ecx + 0x1c], ebx
mov ecx, dword [0x4d2370]
mov dword [esp + 0x64], ecx
mov ebx, dword [ecx + 0x1c]
mov dword [0x4d2370], ebx
jmp 0x42baae
mov eax, dword [esp + 0x78]
cmp word [esp + 0x5c], ax
jmp 0x42bb2e
mov eax, dword [esp + 0x48]
mov edx, dword [ebx + 0x18]
lea ecx, [ebx + 0x18]
mov dword [esp + 0x44], ecx
test edx, edx
je 0x42bb43
mov esi, dword [edx + 4]
cmp eax, esi
ja 0x42c450
mov edi, dword [esp + 0x6c]
mov esi, dword [edx]
mov dword [esp + 0x40], eax
mov edi, dword [edi]
test eax, eax
je 0x42bcfb
movzx eax, word [edi]
mov dword [esp + 0x5c], eax
movzx eax, word [esi]
mov ecx, eax
mov dword [esp + 0x78], ecx
movzx ecx, word [edi]
cmp cx, ax
jne 0x42bd02
add edi, 2
add esi, 2
sub dword [esp + 0x40], 1
jne 0x42bcce
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
cmp eax, dword [edx + 4]
jb 0x42bd11
jmp 0x42bd30
mov eax, dword [esp + 0x78]
cmp word [esp + 0x5c], ax
jae 0x42bd30
mov ecx, dword [esp + 0x44]
mov ebx, edx
mov eax, dword [ebx + 0x1c]
mov dword [ecx], eax
mov eax, dword [0x4d2370]
mov dword [ebx + 0x1c], eax
mov dword [0x4d2370], ebx
cmp dword [ebx + 0x18], 0
je 0x42bb43
mov ecx, dword [esp + 0x60]
mov dword [ecx + 0x18], ebx
mov ecx, dword [0x4d2370]
mov dword [esp + 0x60], ecx
mov ebx, dword [ecx + 0x18]
mov dword [0x4d2370], ebx
jmp 0x42baae
cmp byte [esp + 0x35], 0
jne 0x42c09e
push 0x18
call fcn.0043c5c8
add esp, 4
mov esi, eax
mov ecx, esi
push 0x4d02a0
mov dword [esi + 8], 0
call fcn.0042c8cd
mov eax, dword [esp + 0x10]
mov dword [esi + 0x10], eax
mov eax, esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x30], eax
jmp 0x42b606
cmp byte [esp + 0x35], 0
jne 0x4710dc
mov dword [esp + 0x88], eax
jmp 0x42b61f
mov edi, dword [esp + 0x10]
lea ecx, [ecx]
mov ebx, dword [edi + 8]
mov esi, dword [edi + 0x10]
test ebx, ebx
jne 0x42c47b
mov eax, dword [edi + 0xc]
cmp eax, 5
jge 0x42c58c
push 0x18
push edi
mov dword [edi + 0xc], 1
mov dword [edi], 0
call fcn.0043c5ba
add esp, 8
mov edi, esi
test esi, esi
jne 0x42bdad
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
jmp 0x42b58a
mov edi, ecx
jmp 0x42b745
cmp dword [0x4d02ac], 4
jne 0x42b9ea
jmp 0x470cf8
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x470d13
push 0x10
push esi
call fcn.0043c5ba
mov eax, dword [ebx + 0xc]
add esp, 8
mov dword [ebx + 8], 0
jmp 0x42b9f5
mov ecx, eax
mov dword [esp + 0x48], eax
jmp 0x42b7d7
add esi, 2
add edx, 2
sub edi, 1
jne 0x42bb0d
jmp 0x42bb04
cmp byte [esp + 0x35], 0
jne 0x42c207
push 0x18
call fcn.0043c5c8
add esp, 4
mov esi, eax
mov ecx, esi
push 0x4d02a0
mov dword [esi + 8], 0
call fcn.0042c8cd
mov eax, dword [esp + 0x10]
mov edx, esi
mov dword [esi + 0x10], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], edx
jmp 0x42ba1b
cmp byte [esp + 0x35], 0
jne 0x470ef9
mov edi, edx
jmp 0x42ba3d
mov ecx, dword [esp + 0x10]
cmp ecx, 0x4d02a0
je 0x42c0e7
mov eax, dword [ecx + 0xc]
cmp eax, 4
je 0x42c6d7
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x42c6e9
cmp eax, 5
jge 0x471004
mov esi, dword [esp + 0x10]
mov ecx, esi
push 0x4d02a0
mov dword [esi + 0xc], 1
mov dword [esi], 0
call fcn.0042c8cd
mov byte [esp + 0x35], 0
jmp 0x42b602
mov ecx, dword [esp + 0x10]
cmp ecx, 0x4d02a0
je 0x42c250
mov eax, dword [ecx + 0xc]
cmp eax, 4
je 0x470de0
mov ecx, dword [ecx + 8]
test ecx, ecx
jne 0x470e08
cmp eax, 5
jge 0x470e21
mov esi, dword [esp + 0x10]
mov ecx, esi
push 0x4d02a0
mov dword [esi + 0xc], 1
mov dword [esi], 0
call fcn.0042c8cd
mov byte [esp + 0x35], 0
jmp 0x42ba17
add ebx, 2
add edi, 2
sub edx, 1
jne 0x42b96d
jmp 0x42b702
cmp dword [0x4d02ac], 4
jne 0x42b5d5
jmp 0x470f01
mov eax, dword [esi + 0xc]
dec dword [eax]
mov eax, dword [esi + 0xc]
cmp dword [eax], 0
je 0x470f1c
push 0x10
push esi
call fcn.0043c5ba
mov eax, dword [ebx + 0xc]
add esp, 8
mov dword [ebx + 8], 0
jmp 0x42b5e0
mov al, 1
jmp 0x42b642
mov eax, esi
mov dword [esp + 0x48], esi
jmp 0x42bcbe
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov eax, dword [ebx + 0xc]
cmp dword [eax], 0
je 0x42c570
push 0x10
push ebx
call fcn.0043c5ba
add esp, 8
mov dword [edi + 8], 0
jmp 0x42bdbb
push dword [ebx]
call fcn.0043c601
add esp, 4
push 4
push dword [ebx + 0xc]
call fcn.0043c5ba
add esp, 8
jmp 0x42c48c
sub eax, 5
cmp eax, 0xa
ja case.default.0x42c598
jmp dword [eax*4 + 0x4100a8]
push 0x4d2580
call fcn.0043ca2f
add esp, 4
cmp dword [0x4d2580], 0xffffffff
jne 0x42b463
push 0x44247b
call fcn.0043c890
add esp, 4
push 0x4d2580
call fcn.0043c9e5
add esp, 4
jmp 0x42b463
cmp dword [0x4d02ac], 4
jne 0x42c0b6
jmp 0x470fe9
push ecx
call fcn.004399d3
mov eax, dword [esp + 0x10]
mov dword [eax + 8], 0
mov eax, dword [eax + 0xc]
jmp 0x42c0c1
clc
mov dword [esp + 0x64], eax
mov eax, 0x85
mov dword [esp + 0x74], ebx
mov dword [esp + 0x10], ecx
cmp word [ebx], ax
je 0x470eab
xor eax, eax
mov dword [esp + 0x18], ebx
mov word [ebx + 2], ax
lea eax, [edx*2 + 4]
mov edi, dword [esi + 0x40]
mov dword [esp + 0x5c], eax
add eax, ebx
mov ebx, dword [ebp + 0x38]
mov edx, ebx
neg edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x58], edi
lea edi, [esp + 0x10]
sbb edx, edx
and edx, edi
cmp byte [ebx - 0x7625082d], cl
jl 0x470d5b
and byte [ecx - 0x72a7db84], cl
jl 0x470d63
adc byte [ebx], bl
shl byte [ebx], cl
xlatb
mov dword [esp + 0x60], edx
cmp dword [ebp + 0x14], 0
mov edi, dword [esp + 0x20]
mov dword [esp + 0x34], eax
jne 0x4add7e
cmp dword [ebp + 0x10], 0
jne 0x4add8d
jge 0x470d6d
add byte [edi], cl
test dword [ecx], ebp
rol byte [ebx], 1
add byte [edx + 0x56], dl
push edx
push esi
push dword [ebp + 0x1c]
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x64]
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x4c]
push eax
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x44]
call fcn.00470efb
add esp, 0x28
test eax, eax
je 0x4adef0
cmp dword [esi + 0x40], edi
ja 0x470ed2
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x34]
test ebx, ebx
jne 0x470df1
mov eax, dword [esp + 0x18]
push 0x77
pop ecx
cmp word [eax], cx
je 0x4addb6
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
dec esp
and al, 0x2c
mov dword [esp + 0x14], ecx
cmp dword [ebp + 0x10], 0
jne 0x4ade42
mov ebx, dword [esp + 0x28]
push 0x7c
pop eax
cmp word [ebx], ax
je 0x4ade83
cmp dword [ebp + 0x38], 0
jne 0x470e29
mov esi, dword [esp + 0x18]
mov edx, edi
sub edx, esi
sar edx, 1
je 0x470e2e
sbb byte [ebx - 0x2e29d429], cl
cli
movzx ecx, word [esi + 2]
mov word [esi + 2], dx
mov edx, ecx
mov eax, edx
neg eax
lea esi, [esi + eax*2]
inc esi
test ecx, ecx
jne 0x470e11
mov esi, dword [ebp + 0x34]
mov ecx, dword [esp + 0x40]
push 0x78
pop eax
js 0x470e88
mov word [edi], ax
mov eax, edi
sub eax, ecx
sar eax, 1
mov word [edi + 2], ax
add edi, 4
cmp dword [esp + 0x50], 0
ja 0x470ede
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov edx, dword [ebp + 8]
mov dword [esi + 0x40], eax
mov eax, dword [esp + 0x54]
mov dword [edx], ebx
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
mov dword [eax], edi
mov eax, dword [ebp + 0x20]
mov dword [eax], edx
mov eax, dword [ebp + 0x24]
mov edx, dword [esp + 0x3c]
mov dword [eax], edx
mov eax, dword [ebp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [eax], edx
mov eax, dword [ebp + 0x2c]
mov dword [eax], ebx
mov ebx, dword [ebp + 0x38]
test ebx, ebx
je 0x470ea1
mov edx, dword [ebx]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x4adf70
add ecx, edx
mov dword [ebx], ecx
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, word [ebx + 4]
mov dword [esp + 0x50], eax
mov word [esp + 0x6c], ax
mov eax, dword [esi + 0x24]
mov dword [esp + 0x68], eax
xor eax, eax
mov word [esp + 0x6e], ax
lea eax, [esp + 0x68]
mov dword [esi + 0x24], eax
jmp 0x470d13
mov eax, dword [esi + 0x40]
mov dword [esp + 0x20], eax
jmp 0x470dab
mov eax, dword [esi + 0x24]
xor edx, edx
cmp word [eax + 6], dx
jne 0x4adf00
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esi + 0x24], eax
jmp 0x470e4f
invalid
add dword [eax], eax
add byte [ebx + 0x33530845], cl
fisttp dword [ecx - 0x12373]
dec dword [ebx + 0x308b5609]
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
loopne 0x470f3b
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 0x4711a8
xchg ebp, eax
invalid
invalid
dec esp
invalid
mov eax, ebx
sub eax, 0x5b
je 0x4715aa
sub eax, 1
je 0x471bb0
sub eax, 1
je 0x4afa28
sub eax, 1
je 0x4af9fd
sub eax, 0x1d
je 0x4aedad
sub eax, 1
je 0x471394
cmp dword [ebp - 0x5c], 0
mov ecx, dword [ebp - 0xc]
mov edi, ecx
mov word [ebp - 0x10c], bx
je 0x471097
mov eax, 0xfc00
and ebx, eax
mov eax, 0xd800
cmp ebx, eax
je 0x4afa4e
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 0x471109
test cl, al
je 0x471109
movzx ecx, word [ebp - 0x10c]
mov edx, 0xfc00
mov eax, ecx
and eax, edx
mov edx, 0xd800
cmp eax, edx
je 0x4b0ceb
mov eax, ecx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, byte [eax + 0x4bff40]
shl eax, 7
dec ebx
add cl, al
loopne 0x4710f0
add eax, edx
mov edx, dword [ebp - 8]
movzx eax, word [eax*2 + 0x4b1c40]
movzx eax, byte [eax*8 + 0x4af3f3]
test eax, eax
jne 0x471580
add al, 0x45
inc ebp
inc eax
sbb al, 0x4b
add byte [edi], cl
mov dh, 4
invalid
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 0x471136
mov ax, word [ebp + ecx*2 - 0x10c]
mov word [edx], ax
add edx, esi
inc ecx
cmp ecx, edi
jb 0x471121
mov dword [ebp - 8], edx
push ebp
clc
mov ax, word [ebp - 0x10c]
push 0xd
pop ecx
cmp ax, cx
je 0x4b0d17
jmp [edx + 0xd]
push 0xa
pop ecx
cmp ax, cx
je 0x4b0d17
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
je 0x471cbe
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 0x4b0d4c
movzx eax, word [edx - 2]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0x68]
or eax, ecx
mov dword [ebp - 0x54], eax
mov al, byte [0xb68438b]
ror dword [ecx + 0x758bac45], 0xfc
lodsb al, byte [esi]
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 0x4713fb
cmp dword [ebp + 0x2c], 0
mov edi, dword [ebp + 0x28]
mov ecx, dword [edi + 0x3c]
mov eax, dword [edi + 0x10]
adc byte [ebp - 0x7bf0b7f4], cl
invalid
add dword [eax], eax
invalid
adc byte [ebp - 0x7bf0b7f4], cl
mov edx, 0x8d000001
cmp dword [eax], 0x3bffffff
ror byte [edi], 1
xchg esp, edx
cld
add eax, dword [eax]
lea eax, [ecx - 0xc8]
cmp edx, eax
ja 0x4b0eae
mov eax, dword [ebp - 0xc0]
cmp edx, eax
jb 0x4adf93
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 0x4b0fd5
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov edx, dword [ebp - 0x28]
mov dword [ecx], eax
test edx, edx
je 0x4713ed
mov ecx, dword [ebp - 0xb0]
cmp edx, ecx
jbe 0x47124f
mov esi, dword [ebp - 8]
mov eax, esi
sub eax, edx
and eax, 0xfffffffe
push eax
push edx
push ecx
call fcn.00477eea
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 0x471279
push 0x5c
pop ecx
cmp ebx, ecx
je 0x471845
cmp dword [ebp - 0x64], 0
jne 0x4adfb2
cmp ebx, ecx
je 0x47185a
mov edi, dword [ebp - 0x2c]
and edi, 8
mov dword [ebp - 0x30], edi
jne 0x4ae01f
push 0x28
pop eax
cmp ebx, eax
je 0x471408
push 0x2a
pop eax
cmp ebx, eax
je 0x47186c
push 0x2b
pop eax
cmp ebx, eax
je 0x47186c
push 0x3f
pop eax
cmp ebx, eax
je 0x47186c
push 0x7b
pop eax
cmp ebx, eax
je 0x4ae167
mov edx, dword [ebp - 0x88]
xor eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x50]
test edx, edx
jne 0x4ae17f
ror byte [ebx - 0x4fba7438], 0x85
ror byte [edi], cl
test dword [ebx - 0x8fffc32], ebp
inc ebp
aam 0
inc eax
add byte [eax], al
test dword [ebp - 0x2c], 0x4000
jne 0x4ae1c0
mov edx, dword [ebp - 8]
push 0x3f
pop eax
cmp ebx, eax
ja 0x471039
je 0x4aeda1
fiadd dword [ebx]
add byte [ebx + 0x2bc933c3], cl
ror dword [edi], 0x84
xchg ebx, eax
add byte [eax], al
add byte [ebx - 0x7bf0db18], al
sbb dl, 3
add byte [ebx - 0x7bf0fb18], al
adc al, 1
add byte [eax], al
mov eax, ebx
xor ecx, ecx
sub eax, ecx
je 0x471394
sub eax, 0x24
je 0x4aed8c
sub eax, 4
je 0x471427
sub eax, 1
je 0x471394
sub eax, 1
je 0x471877
sub eax, 1
je 0x4ae20e
sub eax, 3
jne 0x471071
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x471341
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 0x471197
cmp dword [edi + 0x20], ecx
jbe 0x471258
jmp 0x4b107f
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 0x4713e5
sub edx, dword [ebp - 0xc0]
mov ebx, 0x7fffffeb
mov ecx, dword [eax]
sub ebx, ecx
sar edx, 1
cmp ebx, edx
jl 0x4b0fd5
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 0x471252
invalid
test eax, eax
je 0x4711b6
jmp 0x4adf7e
push 0x3f
pop eax
cmp word [esi + 2], ax
jne 0x4712bf
push 0x23
pop eax
cmp word [esi + 4], ax
jne 0x4712bf
jmp 0x4ae122
add esi, 2
push 0x2a
mov dword [ebp - 4], esi
pop eax
movzx edx, word [esi]
cmp dx, ax
je 0x4ae216
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 0x471a07
add esi, 2
mov dword [ebp - 4], esi
push 0x3a
pop edx
movzx ebx, word [esi]
mov eax, ebx
cmp eax, edx
jbe 0x4ae497
mov edx, esi
mov edi, ebx
mov dword [ebp - 0x1c], edx
sub eax, 0x3c
je 0x4aeb73
sub eax, 1
je 0x4aea35
sub eax, 1
je 0x4aeb69
sub eax, 5
je 0x4aeabf
push 0xd
pop ebx
sub eax, ebx
je 0x4aea76
push 2
pop ebx
sub eax, ebx
je 0x4aea59
push 0x2a
pop ebx
sub eax, ebx
je 0x4aea25
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 0x4afcf1
mov ebx, edx
movzx eax, di
cmp di, word [ebp - 0x120]
je 0x47152d
lea esi, [edx + 2]
movzx edi, di
push 0x69
pop edx
mov dword [ebp - 4], esi
cmp ax, dx
ja 0x4afcc1
jne 0x4afc76
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 0x4714e9
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 0x4ae9cc
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 0x47119a
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 0x4b0d0a
mov esi, dword [ebp - 4]
jmp 0x47119d
push 6
lea ecx, [esi + 2]
mov edx, 0x49cc78
call fcn.00471dd3
pop ecx
test eax, eax
je 0x4b0372
mov ecx, dword [ebp - 4]
mov edx, 0x49cc70
push 6
lea ecx, [ecx + 2]
call fcn.00471dd3
pop ecx
test eax, eax
je 0x4b0379
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 0x4b0392
push 0x2e
pop edx
cmp ax, dx
je 0x4b0392
push 0x3d
pop edx
cmp ax, dx
je 0x4b0392
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 0x4b03aa
test eax, eax
jne 0x471647
cmp edi, 0x5e
je 0x4b03e4
push 0x5d
pop ecx
cmp edi, ecx
je 0x4b03ec
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.00477b0a
mov esi, dword [ebp - 4]
add esp, 0xc
test edi, edi
je 0x4b0bf2
mov edx, ebx
cmp dword [ebp - 0x5c], 0
mov dword [ebp - 0x80], ebx
mov ebx, edx
mov dword [ebp - 0x30], edx
je 0x4716af
mov eax, edi
mov ecx, 0xfc00
and eax, ecx
cmp eax, 0xd800
je 0x4b0434
mov ecx, dword [ebp - 0x18]
cmp dword [ebp - 0x20], ecx
ja 0x4b0470
cmp dword [ebp + 0x2c], 0
je 0x4716cc
mov eax, dword [ebp - 0x20]
cmp eax, ecx
ja 0x4b047b
cmp dword [ebp - 0x64], 0
jne 0x4b048f
cmp edi, 0x5b
je 0x4b04b7
push 0x5c
pop ecx
cmp edi, ecx
je 0x4b072b
xor edx, edx
mov ecx, dword [ebp + 0x28]
mov ebx, dword [ebp - 0x2c]
push 0x5c
pop eax
cmp word [esi + 2], ax
je 0x4b09fb
push 0xd
pop eax
mov edx, esi
cmp edi, eax
je 0x4b0a24
add eax, dword [eax]
push 0xa
pop eax
cmp edi, eax
je 0x4b0a24
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jne 0x47172b
push 0x2d
pop eax
cmp word [esi + 2], ax
je 0x4b0a30
mov eax, dword [ebp - 0x80]
mov ebx, eax
push 2
pop edx
mov dword [ebp - 0x1c], eax
cmp eax, edx
jl 0x47183a
test ecx, ecx
jne 0x471752
cmp dword [ebp - 0x3c], ecx
jne 0x471752
mov ecx, dword [ebp - 0xc]
cmp ebx, ecx
je 0x471cac
push edi
push edi
push dword [ebp + 0x28]
push dword [ebp - 0x2c]
lea edx, [ebp - 0x20]
lea ecx, [ebp - 0xe0]
call fcn.00471d3e
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 0x4b0bd3
push 0x5d
pop eax
cmp edi, eax
jne 0x47168d
cmp dword [ebp - 0x64], 0
jne 0x47168d
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x20], ecx
ja 0x4717b2
mov eax, dword [ebp - 0x70]
mov edi, dword [ebp - 0x34]
cmp edi, 0xfffffffe
jne 0x4717c0
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 0x4b0d59
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
je 0x4717f3
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 0x471833
test esi, esi
jne 0x4b0e98
push 0x20
pop eax
push eax
lea eax, [ebp - 0xe0]
push eax
push edx
call fcn.004765ea
mov edx, dword [ebp - 8]
add esp, 0xc
push 0x20
jmp 0x47137b
lea ebx, [eax + 1]
mov dword [ebp - 0x1c], ebx
jmp 0x47173e
push 0x45
pop ecx
cmp word [esi + 2], cx
push 0x5c
pop ecx
jne 0x471267
jmp 0x4adf9d
push 0x51
pop ecx
cmp word [esi + 2], cx
jne 0x471279
jmp 0x4adfa4
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x50]
jmp 0x4712d4
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 0x4b0f9e
test ecx, ecx
jne 0x4718ad
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 0x4aede4
push 0x23
pop eax
push 0x28
pop ecx
push 0x3f
pop edx
cmp word [esi + 2], cx
je 0x4aeee0
lea ecx, [esi + 2]
movzx eax, word [ecx]
push 0x2b
pop edi
cmp ax, di
je 0x4aef35
cmp ax, dx
jne 0x4aef40
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 0x4aef4b
mov edi, dword [ebp - 8]
movzx ecx, word [edx]
push 0x1d
pop eax
cmp cx, ax
je 0x4af66b
push 0x1e
pop eax
cmp cx, ax
je 0x4af66b
push 0x1f
pop eax
cmp cx, ax
je 0x4af66b
push 0x20
pop eax
cmp cx, ax
je 0x4af66b
cmp ecx, 0x17
jae 0x4aefd4
push 0x34
mov edi, ecx
pop ebx
mov dword [ebp - 0x18], edi
mov eax, ecx
push 0x10
pop ecx
cmp ax, cx
je 0x4af71a
push 0xf
pop ecx
cmp ax, cx
je 0x4af71a
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 0x4719f4
mov edx, dword [ebp - 0x24]
add edx, ebx
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x30], edx
jne 0x4af761
mov ecx, dword [ebp - 0x44]
movzx eax, dx
cmp ecx, 0xffffffff
jne 0x4af72f
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 0x4719d4
test ebx, 0x10000000
jne 0x4af88a
mov word [edi], bx
mov ebx, ecx
lea edx, [ebx + edi]
mov dword [ebp - 8], edx
test esi, esi
jns 0x4af655
mov esi, dword [ebp - 4]
cmp dword [ebp - 0x1c], 0
jne 0x4af8a8
mov ecx, dword [ebp + 0x28]
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x80]
or dword [ecx + 0x68], eax
jmp 0x47119a
test dword [ebp - 0x2c], 0x1000
jne 0x4aed7c
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 0x4b0ff1
mov eax, 0x80
cmp edi, eax
mov eax, dword [ebp + 0x28]
jbe 0x4afd09
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 0x4afd25
cmp ecx, 0x80
je 0x4afd25
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.00470c94
add esp, 0x34
test eax, eax
je 0x4b0b78
mov ecx, dword [ebp + 0x28]
mov eax, 0x81
mov ebx, dword [ebp - 0x24]
dec dword [ecx + 0x58]
cmp ebx, eax
je 0x4afd2d
mov eax, dword [ebp - 8]
mov edx, 0x80
cmp ebx, edx
jbe 0x4afd46
mov ecx, 0x87
cmp ebx, ecx
je 0x4afd4e
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 4]
push 0x29
pop edx
cmp word [esi], dx
jne 0x4b0fe3
cmp dword [ebp + 0x2c], 0
jne 0x471cfb
mov edx, dword [ebp - 0x48]
mov dword [ebp - 8], edx
cmp ebx, 0x91
je 0x47119d
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 0x4afe02
cmp dword [ebp - 0x34], 0xfffffffe
je 0x4afdbb
test ecx, ecx
jns 0x4afde3
test eax, eax
js 0x47119d
jmp 0x4afe1a
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.00472353
xor edx, edx
add esp, 0x10
mov edi, eax
cmp dword [ebx], edx
jne 0x4b0b78
test edi, edi
je 0x4afa81
mov ecx, dword [ebp - 0x34]
cmp ecx, 0xfffffffe
jne 0x471bfe
lea eax, [edi - 6]
cmp eax, 0x10
ja 0x471bfe
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 0x4afad0
cmp edi, 0x1c
je 0x4afe4a
test edi, edi
js 0x4b022a
push 0xf
pop eax
cmp edi, eax
je 0x4b02f0
push 0x10
pop eax
cmp edi, eax
je 0x4b02f0
mov ecx, dword [ebp - 0xc]
cmp edi, 5
je 0x4b02a7
push 4
pop eax
cmp edi, eax
je 0x4b02a7
cmp edi, ecx
je 0x4b02a7
mov ebx, esi
push 0x1d
pop eax
cmp edi, eax
jge 0x4b02ba
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 0x4b02dd
mov edx, dword [ebp - 8]
push 2
pop esi
mov word [edx], di
add edx, esi
mov dword [ebp - 8], edx
jmp 0x4715a2
push 0x5d
pop eax
cmp word [esi + 2], ax
jne 0x471752
jmp 0x4b0c00
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 0x4b0d23
movzx eax, ax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x34], eax
cmp edi, ecx
jne 0x4b0d3d
mov edx, dword [ebp - 8]
jmp 0x4715a2
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 0x4b0fd5
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 0x47137e
inc ebp
clc
call 0x4ae173
test al, al
je 0x4edf00
mov al, byte [0x4d2390]
mov byte [0x4d1404], al
mov al, byte [0x4d2391]
mov byte [esp + 0x12], al
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1003c]
push eax
push 0x7fff
push dword [0x4d1418]
call dword [0x49c368]
push dword [esp + 0x14]
mov ecx, 0x4d13f0
adc al, 0xb9
lock adc ecx, dword [ebp]
call 0x4b1ee7
mov bl, byte [esp + 0x11]
push dword [0x4d1400]
push 0x4d1418
call 0x4ad060
test eax, eax
jne 0x4edf0b
cmp byte [esp + 0x12], 1
je 0x4edf28
call 0x4adf13
call 0x4adff3
cmp byte [0x4d1404], 0
mov ebx, 0x4d1990
jne 0x4aded4
mov ecx, ebx
call 0x4aebc7
push edi
mov ecx, 0x4d1430
call 0x4b8af0
cmp byte [0x4d1404], 0
jne 0x4adeef
mov ecx, ebx
call 0x4ae482
mov ecx, esi
into
call 0x4af0ab
lea eax, [esp + 0x38]
push eax
call dword [0x49c3f8]
lea ecx, [esp + 0x28]
call 0x4b4c1f
pop edi
add byte [ebp - 0x17d7dbb4], cl
adc eax, 0x5f00006d
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push dword [0x4d1358]
call esi
push 0xa4
push dword [0x4d1358]
mov dword [0x4d13e0], eax
call esi
push 0xa2
push dword [0x4d1358]
mov dword [0x4d13e8], eax
call esi
xor esi, esi
mov dword [0x4d13ec], eax
push esi
push 0x10
push 0x10
push 1
push 0x63
push dword [0x4d1358]
call dword [0x49c5a0]
mov ecx, dword [0x4d1358]
mov edx, eax
mov eax, dword [0x4d13e0]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x30]
push eax
inc ebp
call 0x511b2526
mov dword [0x4d13e4], edx
mov dword [ebp - 0x30], 0x30
mov dword [ebp - 0x2c], 0x23
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], edi
add bh, al
inc ebp
aam 0x23
add byte [eax], al
add byte [ecx + 0x7589dc75], cl
loopne 0x4adf3d
dec ebp
in al, 0x89
jge 0x4adfa5
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], 0x49c9c8
mov dword [ebp - 4], edx
mov dword [ebp - 0x28], 0x403156
call dword [0x49c730]
push dword [0x4d13e4]
mov word [0x4d1354], ax
push dword [0x4d13e0]
push ecx
call 0x4ae064
pop edi
pop esi
pop ebx
leave
ret
push eax
push edi
call esi
push edi
push dword [0x4d1358]
mov dword [0x4d138c], eax
push 1
push eax
push edi
push edi
push edi
push edi
push 0x50b008c4
push edi
push 0x49c9a0
push edi
call esi
mov esi, dword [0x49c728]
push edi
push dword [0x4d138c]
mov dword [0x4d1388], eax
call esi
push edi
push dword [0x4d138c]
call esi
pop edi
pop esi
ret
cmp eax, 0xf6850000
pop edi
setne al
pop esi
leave
ret
add byte [eax + 0x4d1364], ah
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
mov byte [edi + 2], al
cmp dword [esi + 4], 0
je 0x4edfbb
mov edx, esi
mov ecx, esi
call 0x4aee32
mov edx, esi
mov ecx, esi
call 0x4ae135
push dword [ebp + 0xc]
push ecx
push esi
mov ecx, edi
call 0x4ae928
pop ecx
push eax
push esi
mov ecx, edi
call 0x4af838
pop edi
pop esi
add byte [edi + 0x5e], bl
leave
ret 0x10
adc al, 0x4d
add byte [edx + 0x188b445], cl
mov ecx, esi
call 0x4aedea
push 0x49ca9c
lea ecx, [ebp - 0x20]
call 0x4b5043
add byte [eax - 0x64], ch
retf 0x49
loopne 0x4ae200
daa
outsb dx, byte [esi]
add byte [eax], al
push 1
push dword [0x4d1418]
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x34], bl
call 0x4b025b
test eax, eax
je 0x4ee040
mov byte [ebp + 0xb], bl
lea ecx, [ebp - 0x20]
call 0x4b4c1f
push esi
mov ecx, 0x4d13f0
call 0x4b5c57
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x40]
call 0x4b2318
push 0x49ca84
lea ecx, [ebp - 0x20]
call 0x4b5043
push ebx
push 1
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x20]
push eax
call 0x4b5bab
lea ecx, [ebp - 0x20]
call 0x4b4c1f
push 0x49ca74
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], 0x100
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 1
call 0x4b5043
push ebx
push ebx
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x30]
push eax
call 0x4b5bab
lea ecx, [ebp - 0x30]
mov dword [ebp + 0xc], eax
call 0x4b4c1f
lea ecx, [ebp - 0x20]
call 0x4b8330
mov esi, dword [ebp - 0x54]
lea ecx, [ebp - 0x10]
call 0x4b5cf1
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x70]
call 0x4ae414
mov edi, dword [ebp - 0x10]
push edi
push 0x49ca58
call 0x4cfdb8
pop ecx
pop ecx
test eax, eax
je 0x4ee07e
push edi
push 0x49ca30
call 0x4cfdb8
pop ecx
pop ecx
test eax, eax
je 0x4ee09a
push edi
push 0x49ca08
call 0x4cfdb8
pop ecx
pop ecx
test eax, eax
je 0x4ee0b6
push edi
push 0x49c9dc
call 0x4cfdb8
pop ecx
pop ecx
test eax, eax
jne 0x4ae36c
mov dword [0x4d1400], ebx
cmp byte [ebp + 0xb], bl
jne 0x4ae343
mov dword [0x4d1400], 3
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x70]
call 0x4ae414
lea eax, [ebp - 0x10]
mov ecx, 0x4d1418
push eax
call 0x4b5c57
lea eax, [ebp - 0x10]
sub esi, 2
push eax
lea ecx, [ebp - 0x70]
call 0x4ae414
cmp dword [0x4d141c], ebx
je 0x4ee105
test esi, esi
js 0x4ee125
mov ecx, dword [ebp + 0xc]
call 0x4b177b
lea ecx, [esi + 1]
mov edi, eax
push ecx
push 1
push edi
call 0x4b1de0
add esp, 0xc
mov dword [ebp - 0x20], esi
xor eax, eax
mov dword [ebp - 0x18], ebx
inc eax
mov dword [ebp - 0x14], eax
push ebx
push eax
lea eax, [ebp - 0x20]
push eax
push edi
call 0x4b2440
add esp, 0x10
lea ecx, [ebp - 0x20]
call 0x4b8330
test esi, esi
jle 0x4ae3f5
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x30]
call 0x4b2318
inc ebx
lea eax, [ebp - 0x30]
push ebx
push 1
push eax
push edi
call 0x4b2440
add esp, 0x10
lea ecx, [ebp - 0x30]
call 0x4b8330
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x70]
call 0x4ae414
cmp ebx, esi
jl 0x4ae3c0
lea ecx, [ebp - 0x10]
call 0x4b4c1f
lea ecx, [ebp - 0x40]
call 0x4b8330
lea ecx, [ebp - 0x70]
call 0x4ae44d
pop edi
pop esi
pop ebx
leave
ret 8
lodsb al, byte [esi]
add eax, dword [eax]
add byte [eax - 0x5e], dl
push 0x89004d13
sbb dword [ecx + eax - 0x7a730000], 0xfffffc54
push eax
call 0x4cd6d0
mov eax, dword [0x4d138c]
add esp, 0xc
mov dword [ebp - 0x3b4], eax
lea eax, [ebp - 0x3b8]
mov dword [ebp - 0x3b8], 0x3a8
mov dword [ebp - 0x3b0], 1
push eax
push 2
call dword [0x49c4d0]
leave
ret
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov edx, dword [esi + 8]
mov ecx, dword [esi + 4]
mov dword [ecx + edx*4], eax
inc dword [esi + 8]
pop esi
pop ebx
pop ebp
ret 4
add eax, 0x4d199c
or dword [eax], eax
add byte [eax], al
mov dword [0x4d19a8], ebx
call 0x4b5043
push 0x49cb3c
mov ecx, 0x4d19bc
call 0x4b5043
mov ecx, 0x4d19cc
call 0x4b5cf1
mov ecx, 0x4d19dc
call 0x4b5cf1
mov ecx, 0x4d19ec
or ah, byte [esi]
add byte [eax + 0x3c], ch
retf
jb 0x4aea5b
add byte [ecx + 0x4d19ec], bh
call 0x4b5cf1
mov eax, dword [0x4d19ac]
mov esi, 0x4d1a34
mov dword [0x4d19fc], eax
mov eax, dword [0x4d19b0]
mov dword [0x4d1a00], eax
mov al, 0x19
dec ebp
add byte [ebx + 0x4d1a00], ah
mov eax, dword [0x4d19b4]
mov dword [0x4d1a04], eax
mov eax, dword [0x4d19b8]
mov dword [0x4d1a08], eax
push 0xf
pop edi
inc dword [eax]
mov eax, dword [0x4d19bc]
mov dword [0x4d1a0c], eax
mov eax, dword [0x4d19c0]
mov dword [0x4d1a10], eax
mov eax, dword [0x4d19c4]
mov dword [0x4d1a14], eax
mov eax, dword [0x4d19c8]
mov dword [0x4d1a18], eax
inc dword [eax]
mov dword [0x4d1a1c], ebx
mov dword [0x4d1a20], ebx
mov dword [0x4d1a24], ebx
mov byte [0x4d1a30], bl
add bh, bh
add byte [ecx + 0x4d1a1c1d], cl
add byte [ecx + 0x4d1a201d], cl
add byte [ecx + 0x4d1a241d], cl
add byte [eax + 0x4d1a301d], cl
add byte [ebx + 0x7210e8ce], cl
add byte [eax], al
mov ecx, esi
call 0x4b5cf1
add esi, 0x10
sub edi, 1
jne 0x4aeada
or dword [0x4d2364], 0xffffffff
mov eax, 0x4d1990
pop edi
pop esi
mov word [0x4d1b24], bx
mov dword [0x4d1b28], ebx
mov dword [0x4d1b2c], ebx
mov byte [0x4d1b30], bl
mov dword [0x4d1b34], ebx
mov dword [0x4d1b38], ebx
mov byte [0x4d1b3c], bl
mov dword [0x4d1b40], ebx
mov dword [0x4d2360], ebx
pop ebx
ret
push ebx
mov eax, ecx
push esi
push edi
xor esi, esi
mov dword [ebp - 8], eax
mov edi, dword [eax + 4]
mov dword [ebp - 0x10], edi
add al, 0x89
jge 0x4aeb5d
lea edx, [edi - 1]
test edi, edi
je 0x4aebbf
dec ebx
mov eax, dword [ebp + 8]
movzx eax, word [eax]
mov dword [ebp - 4], eax
xor ebx, ebx
xor ecx, ecx
test ax, ax
je 0x4aebb6
mov eax, dword [ebp - 8]
mov edi, dword [ebp + 8]
mov eax, dword [eax]
movzx eax, word [eax + edx*2]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
movzx eax, ax
cmp word [ebp - 0xc], ax
je 0x4aebc4
inc ebx
movzx eax, word [edi + ebx*2]
test ax, ax
jne 0x4aeb9b
mov edi, dword [ebp - 0x10]
test ecx, ecx
jne 0x4ee6d7
mov eax, edx
pop edi
pop esi
pop ebx
leave
ret 4
or eax, 0xffffffff
jmp 0x4aebb8
inc ecx
jmp 0x4aeba1
lea eax, [esp + 0x134]
push eax
call 0x4cfd13
pop ecx
pop ecx
lea eax, [esp + 0x118]
push eax
push esi
test byte [eax + ebx], ah
add dword [eax], eax
add byte [eax + 0x56], dl
call dword [0x49c4d0]
lea ecx, [esp + 8]
call 0x4b4c1f
add byte [eax], al
pop esi
mov esp, ebp
pop ebp
ret
jne 0x4aedb7
push edi
mov edi, ecx
test esi, esi
je 0x4aedcb
lea eax, [esi - 1]
push eax
push edx
inc esi
call dword [eax + 0x52]
push edi
call 0x4d867b
add esp, 0xc
xor eax, eax
mov word [edi + esi*2 - 2], ax
pop edi
pop esi
pop ebp
ret
add byte [ebp - 0x814affc], cl
push ebp
mov ebp, esp
mov eax, 0x10014
call 0x4ed2e0
push esi
push 0x7fff
lea eax, [ebp - 0x10010]
mov esi, ecx
push eax
push 0
call dword [0x49c1a8]
lea eax, [ebp - 0x10010]
push eax
lea ecx, [ebp - 0x10]
call 0x4b5043
mov edx, esi
lea ecx, [ebp - 0x10]
call 0x4aee32
lea ecx, [ebp - 0x10]
call 0x4b4c1f
pop esi
leave
ret
add byte [ebp + 0x7d89fc45], cl
cld
push eax
push esi
push ebx
push ebx
push dword [ebp + 8]
push dword [ebp - 8]
call dword [0x49c020]
test eax, eax
jne 0x4aef10
mov eax, dword [ebp - 4]
shr eax, 1
mov dword [ebp - 4], eax
cmp eax, dword [ebp + 0xc]
jae 0x4aef20
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 0x4aef0e
jl 0x4aef50
dec ebp
add byte [ebp + 0x5d850fc9], al
clc
add eax, dword [eax]
mov ecx, dword [0x4d1938]
push edi
xor edi, edi
mov dword [0x4d1984], edi
add byte [ebx + 0x4d19380d], cl
add byte [edi + 0x33], dl
dec dword [ecx + 0x4d19843d]
add byte [ebp + 0x5a850fc9], al
clc
add eax, dword [eax]
cmp eax, 0x4d1984
test ecx, ecx
jne 0x4ee7b2
mov esi, edi
mov dword [0x4d1940], edi
mov dword [0x4d1920], 0x49c940
cmp dword [0x4d1928], esi
jbe 0x4aef94
mov eax, dword [0x4d1924]
push 4
push dword [eax + esi*4]
call 0x4cb15d
mov eax, dword [0x4d1924]
pop ecx
pop ecx
mov dword [eax + esi*4], edi
inc esi
cmp esi, dword [0x4d1928]
jb 0x4aef72
push dword [0x4d1924]
mov dword [0x4d1928], edi
call 0x4cb1a4
pop ecx
mov ecx, 0x4d190c
mov dword [0x4d190c], 0x49c93c
call 0x4acb65
push dword [0x4d1910]
call 0x4cb1a4
pop ecx
mov ecx, 0x4d18f0
call 0x4b4c1f
mov eax, dword [0x4d18e0]
pop edi
test eax, eax
jne 0x4ee7c6
add byte [edi - 0x7b], bl
ror byte [edi], 0x85
call 0x5e4af3d6
pop esi
ret
or bh, bh
jbe 0x4af665
call dword [0x49c27c]
mov edi, eax
test edi, edi
jne 0x4ee94a
loope 0x4af659
add eax, dword [eax]
pop edi
pop esi
pop ebx
leave
ret
dec ebp
add byte [ecx + 0x4d13c015], cl
add byte [ecx + 0x4d13c415], cl
add byte [ecx + 0x4d13c815], cl
add byte [ecx + 0x4d13cc15], cl
add byte [ecx + 0x4d13d015], cl
add byte [ecx + 0x4d13d415], cl
add byte [eax + 0x4d13d815], cl
add byte [edx + 1], ch
adc eax, 0x4d13cc
mov dword [0x4d13d0], edx
mov dword [0x4d13d4], edx
mov byte [0x4d13d8], dl
push 1
pop ecx
sub eax, 5
je 0x4eeb6f
sub eax, ecx
jne 0x4ee9ed
mov eax, dword [0x4d13a4]
mov byte [0x4d13bd], cl
mov byte [0x4d13bf], cl
mov ebp, 0x88004d13
or eax, 0x4d13bf
test eax, eax
je 0x4eeab6
cmp eax, ecx
je 0x4eeadd
cmp eax, 2
jne 0x4eeb21
mov byte [0x4d13c7], cl
mov byte [0x4d13c5], cl
mov byte [0x4d13c1], cl
mov byte [0x4d13c9], cl
cmp byte [ebp - 0x2e], cl
jne 0x4eeb10
mov byte [0x4d13c8], cl
lea eax, [ebp - 4]
mov dword [ebp - 4], edx
push eax
call dword [0x49c360]
push eax
call dword [0x49c190]
xor edx, edx
inc edx
cmp dword [ebp - 4], edx
jne 0x4af824
mov byte [0x4d13da], dl
push 9
xor eax, eax
lea edi, [ebp - 0x2c]
pop ecx
rep stosd dword es:[edi], eax
test dl, dl
je 0x4eebb4
push 0x49cbe0
call dword [0x49c19c]
mov esi, eax
test esi, esi
je 0x4af82c
push 0x49cbc8
push esi
call dword [0x49c1a0]
test eax, eax
je 0x4af82c
lea ecx, [ebp - 0x2c]
push ecx
call eax
test esi, esi
je 0x4af811
push esi
call dword [0x49c198]
mov ax, word [ebp - 0x2c]
pop edi
mov word [0x4d13dc], ax
mov eax, 0x4d13a0
pop esi
leave
ret
mov dl, byte [0x4d13da]
jmp 0x4af7cd
lea eax, [ebp - 0x2c]
push eax
call dword [0x49c194]
jmp 0x4af806
add byte [esi - 1], dl
jne 0x4af89b
mov ecx, edi
mov dword [eax], 2
push esi
call 0x4b479c
add byte [eax], al
mov bl, al
pop edi
pop esi
mov al, bl
pop ebx
leave
ret 0xc
push ebp
mov ebp, esp
push ecx
push ebx
mov eax, ecx
push esi
push edi
xor esi, esi
mov dword [ebp - 4], eax
mov edi, dword [eax + 4]
lea edx, [edi - 1]
test edi, edi
je 0x4af8f5
mov ebx, dword [ebp + 8]
movzx eax, word [ebx]
xor ecx, ecx
test ax, ax
je 0x4af8ef
mov eax, dword [ebp - 4]
mov eax, dword [eax]
movzx eax, word [eax + edx*2]
mov dword [ebp + 8], eax
movzx eax, word [ebx]
cmp word [ebp + 8], ax
je 0x4af8fa
inc ecx
movzx eax, word [ebx + ecx*2]
test ax, ax
jne 0x4af8dc
movzx eax, word [ebx]
dec edx
inc esi
cmp esi, edi
jb 0x4af8c6
or eax, 0xffffffff
jmp 0x4af8fc
mov eax, edx
pop edi
pop esi
pop ebx
leave
ret 4
mov edx, dword [esi]
mov eax, dword [ebp - 0xc]
push 0x41
pop ecx
movzx eax, word [eax + edx*2]
mov dword [ebp - 0x20], eax
movzx eax, ax
cmp eax, 0x2e
je 0x4afb74
cmp eax, 0x2b
je 0x4eeeba
cmp eax, 0x2d
je 0x4eeeba
cmp eax, 0x2f
jbe 0x4afa4e
cmp eax, 0x39
ja 0x4afa3c
and ebx, 0xffffffe7
mov ecx, edx
or ebx, 0x20
mov al, byte [ebp - 5]
test bl, 0x20
je 0x4af9bd
lea eax, [ecx + 1]
mov dword [esi], eax
mov eax, dword [ebp - 0xc]
movzx eax, word [eax + ecx*2]
mov ecx, edi
push eax
call 0x4afd4d
and ebx, 0xffffffdf
jmp 0x4af955
push 0
test bl, 0x10
pop ebx
jne 0x4afbd9
test al, al
jne 0x4afb88
push 0x4a
pop eax
cmp word [ebp + 0x10], ax
je 0x4afabc
push dword [edi]
call 0x4d168b
pop ecx
mov ecx, dword [ebp + 8]
mov edi, eax
push 5
mov esi, edx
call 0x4b598b
push 0x4a
pop eax
cmp word [ebp + 0x10], ax
je 0x4afaf7
test byte [eax], 0
add byte [ebx], bh
jl 0x4afb17
cmp esi, ebx
jl 0x4afb17
jg 0x4eef10
cmp edi, 0x7fffffff
ja 0x4eef10
cmp esi, ebx
jg 0x4afa2d
jl 0x4afb17
cmp edi, ebx
jb 0x4afb17
sub dl, 0
add byte [eax], al
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov dword [eax + 4], esi
mov al, 1
pop edi
pop esi
pop ebx
leave
ret
cmp eax, 0x45
je 0x4eee87
cmp eax, 0x65
je 0x4eee87
and eax, 0xffffffdf
cmp eax, ecx
jae 0x4afa67
cmp word [ebp - 0x20], 0x5f
mov ecx, edx
jne 0x4af99c
jmp 0x4eee9d
cmp eax, 0x5a
ja 0x4afa55
jmp 0x4eee9d
invalid
push 0x49cbdc
lea ecx, [ebp - 0x2c]
call 0x4b5043
push edi
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x2c]
call 0x4afe18
cmp edi, eax
aam 0xe8
inc edx
add eax, dword [eax]
add byte [ebx], bh
clc
je 0x4afae2
push eax
mov ecx, edi
call 0x4b5c57
lea ecx, [ebp - 0x3c]
call 0x4b4c1f
lea ecx, [ebp - 0x2c]
call 0x4b4c1f
jmp 0x4af9de
cmp esi, 0xffffffff
jg 0x4afa1b
jl 0x4eef10
cmp edi, 0x80000000
jae 0x4afa1b
jmp 0x4eef10
neg edi
adc esi, ebx
neg esi
jmp 0x4afa2d
test bl, 2
je 0x4afb7c
push 0x25
pop ebx
mov al, 1
mov ecx, edx
mov byte [ebp - 5], al
jmp 0x4af99f
mov eax, dword [edi + 4]
mov esi, 0x49cc40
push esi
mov dword [ebp - 0x20], eax
call 0x4cfcf3
pop ecx
mov ecx, dword [ebp - 0x20]
cmp ecx, eax
je 0x4eeecd
mov esi, dword [ebp + 8]
mov ecx, esi
push 0x20
call 0x4b598b
push dword [edi]
call 0x4d82f5
fstp qword [esi]
pop ecx
jmp 0x4afa35
xor al, al
jmp 0x4afa37
invalid
add byte [eax], al
mov ebx, eax
test ebx, ebx
js 0x4afce4
cmp si, 0x20
jne 0x4afcfb
push 0
mov esi, dword [ebp + 0x10]
mov ecx, esi
call 0x4b598b
mov dword [esi], ebx
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
mov ecx, dword [0x4d2394]
push dword [edi]
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, eax
test ebx, ebx
js 0x4afd29
push 1
jmp 0x4afcd1
cmp si, 0x2c
je 0x4afccf
cmp si, 0x29
je 0x4afccf
cmp si, 9
dec byte [ecx]
je 0x4afccf
cmp si, 0x3d
je 0x4afccf
cmp si, 0x28
je 0x4afccf
cmp si, 0x5d
je 0x4afccf
test si, si
je 0x4afccf
jmp 0x4eef35
or al, 0xf2
add eax, dword [eax]
mov ecx, dword [ebp + 0x10]
push 0x34
call 0x4b598b
xor al, 0xe8
pop eax
pop esp
add byte [eax], al
mov ecx, dword [ebp + 0x10]
push edi
call 0x4b5a03
jmp 0x4afcdd
invalid
mov ebp, esp
push ecx
push esi
push edi
mov edi, ecx
xor esi, esi
inc esi
mov ecx, dword [edi + 0xc]
mov eax, dword [ecx]
cmp eax, esi
jg 0x4eef49
mov eax, dword [edi + 4]
push 2
pop esi
add eax, esi
cmp dword [edi + 8], eax
jb 0x4afd95
mov edx, dword [edi + 4]
mov ecx, dword [edi]
mov ax, word [ebp + 8]
mov word [ecx + edx*2], ax
inc dword [edi + 4]
xor edx, edx
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov word [eax + ecx*2], dx
mov eax, edi
pop edi
pop esi
leave
ret 4
cmp eax, 0x41c2
jae 0x4eef9c
add eax, eax
test eax, eax
je 0x4afde9
add eax, 7
and eax, 0xfffffff8
xor ecx, ecx
mov dword [edi + 8], eax
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call 0x4cb19b
cmp dword [edi], 0
mov esi, eax
pop ecx
je 0x4afde5
mov ecx, dword [edi + 4]
lea ecx, [ecx*2 + 2]
push ecx
push dword [edi]
push esi
call 0x4cc1b0
push dword [edi]
call 0x4cb1a4
add esp, 0x10
les edx, [eax]
mov dword [edi], esi
jmp 0x4afd72
push 8
pop eax
jmp 0x4afdac
push dword [edi]
push dword [esi*4 + 0x4b1370]
call 0x4d05c2
pop ecx
pop ecx
test eax, eax
je 0x4afe13
inc esi
cmp esi, 0x2d
jl 0x4afdf4
or eax, 0xffffffff
jmp 0x4afe15
mov eax, esi
pop edi
pop esi
ret
push cs
lea eax, [eax*2 + 2]
push eax
push dword [edi]
lea ecx, [ecx + edx*2]
push ecx
call 0x4cc1b0
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
daa
add bh, bh
adc eax, 0x49c19c
mov esi, eax
test esi, esi
je 0x4b0256
push 0x4c35b0
push esi
call dword [0x49c1a0]
test eax, eax
je 0x4b024b
push edi
call eax
test esi, esi
je 0x4b0256
push esi
call dword [0x49c198]
mov eax, edi
pop edi
pop esi
ret
movzx eax, al
push eax
call 0x4b0310
mov edi, eax
mov ecx, esi
test edi, edi
je 0x4ef076
add eax, dword [eax]
call 0x4b02c9
mov eax, edi
pop edi
pop esi
leave
ret 8
mov ecx, dword [esi + 0x10]
test ecx, ecx
jne 0x4b02ef
cmp dword [esi + 0xc], ebx
jne 0x4b02fa
mov byte [esi + 0x14], bl
pop esi
pop ebx
ret
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x10], ebx
jmp 0x4b02e4
add dword [ecx - 1], edx
push eax
or byte [ecx - 0x1514efa2], cl
push dword [esi + 0xc]
call dword [0x49c198]
mov dword [esi + 0xc], ebx
jmp 0x4b02e9
add dword [eax], eax
add byte [ecx + 0x6eb0845], cl
push es
lea ebx, [ebx]
cmp byte [ebx + 0x14], 0
jne 0x4ef0b7
mov ecx, 0x10000
push dword [ebx]
mov esi, dword [ebp - 0x14]
jne 0x4b0380
push ecx
push 1
push esi
mov ecx, ebx
call 0x4b0485
mov dword [ebp - 8], eax
cmp eax, 0x18
jl 0x4b03fe
lea edi, [eax - 0x14]
xor edx, edx
test edi, edi
jle 0x4b03d1
add esi, 2
xor eax, eax
mov cl, byte [ebp + eax - 0x28]
cmp cl, byte [esi + eax - 2]
je 0x4b03f1
cmp eax, 0x14
je 0x4ef0c1
inc edx
inc esi
cmp edx, edi
jl 0x4b03b3
mov eax, dword [ebp - 8]
cmp byte [ebx + 0x14], 0
jne 0x4b03fe
mov esi, dword [ebp + 8]
mov ecx, ebx
push 1
add esi, 0xffffffec
push 0xffffffffffffffec
push dword [ebx]
add esi, eax
mov dword [ebp + 8], esi
call 0x4b04af
jmp 0x4b0380
xor eax, dword [ebx]
invalid
add byte [eax], al
add bl, ch
invalid
mov cl, byte [ebp + eax - 0x27]
cmp cl, byte [esi + eax - 1]
je 0x4b043f
inc eax
jmp 0x4b03bf
mov esi, 3
mov eax, dword [ebp - 0x10]
add dword [eax], 0xffffffff
jne 0x4b041e
push 4
push eax
call 0x4cb15d
push dword [ebp - 0x14]
call 0x4cb1a4
add esp, 0xc
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
add al, ch
clc
int1
invalid
mov cl, byte [ebp + eax - 0x26]
cmp cl, byte [esi + eax]
je 0x4b0450
add eax, 2
jmp 0x4b03bf
mov cl, byte [ebp + eax - 0x25]
cmp cl, byte [esi + eax + 1]
jne 0x4b047d
mov cl, byte [ebp + eax - 0x24]
cmp cl, byte [esi + eax + 2]
jne 0x4b0475
add eax, 5
cmp eax, 0x14
jl 0x4b03b5
jmp 0x4b03bf
add eax, 4
jmp 0x4b03bf
invalid
add eax, 3
jmp 0x4b03bf
adc al, 0
jne 0x4ef100
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call 0x4d9c54
add esp, 0x10
leave
ret 0x10
add byte [edi], cl
test dword [edx - 0x14], esp
add eax, dword [eax]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call 0x4da073
add esp, 0xc
leave
ret 0xc
dec ebp
call 0x8ff519
add byte [ebp - 0x1a1747b3], cl
inc esp
add byte [eax], al
lea ecx, [ebp - 0x28]
call 0x4b4c1f
lea ecx, [ebp - 0x58]
call 0x4b4c1f
lea ecx, [ebp - 0x38]
call 0x4b4c1f
pop edi
pop esi
pop ebx
leave
ret
pop edi
pop esi
pop ebx
pop ebp
ret 8
xor eax, eax
inc eax
jmp 0x4b09c8
sbb byte [ebx + 0x148a087d], cl
cmp byte [eax - 0x7c], al
sal byte [edx + ecx*2 - 0x80], cl
cli
jg 0x4b0aab
mov dl, byte [eax + edi]
inc eax
test dl, dl
je 0x4b0a7a
cmp dl, 0x7f
ja 0x4b0a4b
push ss
cmp eax, esi
jb 0x4b0a28
test bl, bl
je 0x4b0a81
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea ecx, [edx + 0x3e]
cmp cl, 0x1d
jbe 0x4ef354
lea ecx, [edx + 0x20]
cmp cl, 0xf
jbe 0x4ef35b
add dl, 0x10
cmp dl, 4
jbe 0x4ef362
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
cmp byte [ecx], 0
jne 0x4b0a6f
jmp 0x4b0a35
mov eax, 4
jmp 0x4b0a42
std
call 0xc07e0ab4
ret
add byte [ebx + 0x2404c7f8], cl
add byte [eax], al
add dword [eax], eax
and dword [edi], 0
call 0x4cb19b
pop ecx
mov ecx, edi
mov dword [edi + 4], eax
call 0x4b15d6
lea ecx, [edi + 0x18]
call 0x4b5cf1
mov ecx, edi
call 0x4b15d6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov ecx, esi
call 0x4b28a0
mov esi, dword [esi + 8]
mov ecx, edi
call 0x4b15d6
mov eax, 0x8000
mov ecx, edi
push eax
push esi
mov dword [edi + 0x28], eax
call 0x4b0ad5
test al, al
je 0x4ef432
call 0xcfd60bdb
mov ecx, edi
call 0x4b092a
mov ecx, edi
call 0x4b076e
mov ecx, edi
call 0x4b0757
test byte [edi + 0x28], 3
jne 0x4ef469
call 0xb30bfa
add al, 0
add byte [ebp - 0x17e3dbb4], cl
std
or dword [eax], eax
add byte [ebx + 0x32102474], cl
ror byte [eax - 0x74f0dbbc], 0xcf
push 0x400
lea ecx, [esp + 0x1c]
call 0x4b1600
mov esi, dword [esp + 0x10]
xor al, al
mov byte [esp + 0xf], al
mov ecx, edi
test esi, esi
je 0x4ef523
call 0x4b0757
and dword [esp + 0x10], 0
test esi, esi
jle 0x4b0c4e
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call 0x4b4b97
test al, al
je 0x4ef4e6
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, esi
jl 0x4b0c25
mov al, byte [esp + 0xf]
test al, al
jne 0x4b0c5b
mov ecx, dword [ebp + 0xc]
lea eax, [esp + 0x18]
push eax
call 0x4b1645
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp dword [eax + 0xc], 4
jne 0x4b0c7c
mov ecx, edi
call 0x4b15d6
test edi, edi
je 0x4b0c7c
push ecx
mov ecx, edi
call 0x4b15a6
lea ecx, [esp + 0x18]
call 0x4b4c1f
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [esp + 0x30], esi
cmp eax, 0x15
je 0x4ef563
cmp eax, 0x1d
ja case.default.0x4b0d04
movzx eax, byte [eax + 0x405ac0]
jmp dword [eax*4 + 0x405a8c]
add byte [ebx - 0x307cfa31], al
add al, 0x8b
fimul word [ebx - 0x72efdbbc]
mov eax, dword [esp + 0x10]
lea edx, [ebx + 6]
mov eax, dword [esp + 0x10]
lea edx, [ebx + 6]
cmp eax, edx
ja 0x4ef64e
lea edx, [ebx + 5]
cmp eax, edx
ja 0x4ef666
push ebx
add eax, 0x870fc23b
cmp ecx, ebp
add eax, dword [eax]
lea edx, [ebx + 4]
cmp eax, edx
jbe 0x4b0d4a
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + edx*4]
call 0x4b68f7
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
lea edx, [ebx + 3]
cmp eax, edx
jbe 0x4b0d65
add edi, dword [ebx]
ret 0x1476
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + edx*4]
xchg ecx, eax
call 0x4b68f7
mov esi, eax
mov eax, dword [esp + 0x10]
lea ecx, [ebx + 2]
cmp eax, ecx
jbe 0x4b0d82
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ecx*4]
call 0x4b68f7
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
lea ecx, [ebx + 1]
cmp eax, ecx
jbe 0x4b0d9c
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + ebx*4 + 4]
call 0x4b68f7
mov dword [esp + 0x28], eax
sub esp, 0x10
lea eax, [esp + 0x40]
mov ecx, esp
push eax
and dword [ecx + 8], 0
call 0x4bb470
mov ebx, dword [esp + 0x24]
push edi
push dword [esp + 0x2c]
push dword [esp + 0x34]
push dword [esp + 0x3c]
push esi
push dword [esp + 0x48]
push dword [esp + 0x50]
push ebx
push dword [ebp + 8]
call 0x4b0e6e
mov edi, dword [ebp + 0x10]
mov esi, eax
mov ecx, edi
call 0x4b8330
mov ecx, edi
mov dword [edi + 0xc], 1
mov dword [edi], esi
call 0x4b68f7
test eax, eax
je 0x4ef681
cmp dword [ebp + 8], 0x1d
je 0x4b0e03
push ebx
call 0x4cb1a4
pop ecx
xor esi, esi
lea ecx, [esp + 0x30]
call 0x4b8330
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
clc
adc dword [edi], ecx
test byte [esi], dl
call 0xf8ce0ea5
adc al, 0xf
test byte [0x830003e8], cl
invalid
cli
in al, dx
add eax, dword [eax]
mov eax, dword [0x4d1910]
mov eax, dword [eax + esi*4]
mov ebx, dword [eax]
push ebx
mov dword [ebp - 0x1c], ebx
call 0x4b145e
mov edi, eax
mov dword [ebp - 0x20], edi
cmp edi, 0xffffffff
je 0x4efbac
mov eax, dword [0x4d1924]
mov edx, dword [ebp + 8]
mov eax, dword [eax + edi*4]
mov esi, dword [eax]
mov dword [ebp - 0x24], esi
cmp edx, 0xe
je 0x4ef6e0
cmp edx, 0xf
je 0x4ef6e0
cmp edx, 0xc
je 0x4ef6e0
mov byte [esi + 0x92], 0x50
mov ax, word [0x4d18b8]
mov word [esi + 0x86], ax
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edi, dword [ebp + 0x18]
mov dword [ebp - 4], edx
mov edx, dword [ebp + 0x28]
and edx, 2
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0x28], edx
jne 0x4ef6ec
push ebx
push dword [ebp + 0x1c]
push edi
push ecx
push eax
call 0x4b141c
mov edi, dword [ebx + 0x60]
mov eax, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x5c]
mov dword [ebp - 8], edi
mov edi, dword [ebx + 0x64]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], edi
mov edx, dword [ebp + 8]
mov edi, dword [ebp - 0x20]
cmp edx, 0x1d
ja case.default.0x4b0f73
mov dword [ebp - 0xc], 1
jmp dword [edx*4 + 0x405c92]
add byte [ebx - 0x6977d7b3], cl
nop
add byte [eax], al
add byte [eax + 0x918e], cl
add byte [ecx + 0x4d191c], ah
mov dword [0x4d1948], eax
mov dword [0x4d1944], edi
test cl, 1
je 0x4efa1c
test cl, 4
je 0x4efa73
cmp dword [ebp - 0x28], 0
jne 0x4b0fdf
or dword [edx], ebp
push 0
push esi
push ebx
call 0x4b109a
cmp byte [ebx + 0x198], 0
jne 0x4efb62
add byte [eax], al
add byte [edi], cl
test dword [esi - 0x15], esi
add eax, dword [eax]
cmp dword [ebx + 0x50], 0xffffffff
jne 0x4efb84
test dword [esi - 0x7cfffc15], ecx
jnp 0x4b104d
cmp dword [ebx + 0x54], 0xffffffff
jne 0x4efb92
dec dword [edi]
test dword [edx - 0x7cfffc15], edx
add byte ds:[ebx + ecx + 0x57], dh
cmp dword [esi], 0
je 0x4b1010
push edi
push 0xffffffffffffffeb
push dword [esi]
call dword [0x49c504]
lea ecx, [ebp + 0x2c]
call 0x4b8330
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 0x4b122c
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 0x4efbec
test ecx, ecx
je 0x4efc06
cmp dword [edi + 0x19c], 0
jne 0x4efc19
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
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
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
idiv ecx
mov word [esi + 0x8a], ax
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 0x4b1225
test ebx, 0x100
je 0x4b11b8
mov eax, dword [ebp + 8]
movzx eax, ax
mov word [esi + 0x8c], ax
test bl, 6
jne 0x4b11b8
test bl, 8
jne 0x4efc29
mov eax, dword [ebp + 0x10]
cdq
sub eax, edx
mov edx, dword [ebp - 0x1c]
sar eax, 1
cmp edx, eax
jg 0x4efc48
test ebx, 0x200
je 0x4efcac
mov eax, dword [ebp - 0x10]
movzx eax, ax
mov word [esi + 0x8e], ax
test bl, 0x60
jne 0x4efcac
test bl, bl
js 0x4efc72
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp - 0x18]
sar eax, 1
cmp edx, eax
jg 0x4efc8e
mov ecx, dword [ebp - 0x1c]
mov eax, ebx
and eax, 2
mov dword [ebp - 0x14], eax
jne 0x4efcb4
test bl, 4
jne 0x4efcc0
mov eax, ebx
and eax, 0x20
mov dword [ebp + 0x10], eax
jne 0x4efd1c
test bl, 0x40
jne 0x4efd28
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 0x4b12b0
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 0x4efbba
cmp dword [edi + 0x5c], ebx
je 0x4efbca
lea eax, [ebp - 0x24]
push eax
push dword [esi]
call dword [0x49c6a0]
cmp dword [edi + 0x60], ebx
je 0x4efbda
cmp dword [edi + 0x64], ebx
je 0x4b12a5
cmp byte [esi + 0x90], 0
jne 0x4b1225
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
jmp 0x4efd4e
cmp byte [ebp + 0x10], 0
je 0x4b1261
jmp 0x4b124b