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

Disassembly:
sub esp, 0x90
mov ecx, dword [esp + 0x98]
xor eax, eax
push ebx
mov dword [esp + 0x6c], eax
xor edx, edx
push ebp
mov ebp, dword [esp + 0xa8]
push esi
push edi
xor edi, edi
mov dword [esp + 0x88], edx
mov eax, dword [ebp + 0x80]
mov dword [esp + 0x84], eax
xor eax, eax
mov ebx, dword [ebp + 0x7c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x7c], eax
mov eax, dword [ebp]
mov dword [esp + 0x10], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x14], ebx
mov eax, dword [eax + 0x24]
mov dword [esp + 0x70], eax
mov eax, ecx
shr eax, 0x13
and eax, 1
mov dword [esp + 0x28], edx
mov dword [esp + 0x48], eax
mov eax, ecx
shr eax, 2
and eax, 1
mov dword [esp + 0x68], edx
test byte [esp + 0x70], 8
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x8c], edx
je 0x4eb29a
mov dword [ebx], 0x80090000
jmp 0x4eb2a7
test byte [esp + 0x70], 4
je 0x4eb2b5
mov dword [ebx], 0x80180005
mov dword [ebx + 4], 0x801a0000
add ebx, 8
mov dword [esp + 0x14], ebx
test ecx, 0x2000000
je 0x4eb408
mov esi, dword [esp + 0xa4]
cmp esi, eax
jae 0x4eb399
cmp ebx, dword [esp + 0x84]
jae 0x4eda76
cmp dword [esp + 0x48], 0
mov edx, esi
movzx ecx, word [esi]
lea esi, [edx + 2]
je 0x4eb31a
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4eb316
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
add ecx, 0x10000
add esi, 2
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x74], 0
je 0x4eb386
mov eax, dword [esp + 0x10]
mov edi, ebx
mov dword [esp + 0x10], eax
test eax, eax
je 0x4eb35b
mov eax, edx
sub eax, dword [ebp + 0x1c]
mov ebp, dword [esp + 0x10]
sar eax, 1
sub eax, dword [ebp + 4]
mov dword [ebp + 8], eax
lea eax, [ebx - 0x10]
cmp ebp, eax
mov ebp, dword [esp + 0xb0]
jne 0x4eb35b
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xc], 0xff
je 0x4eb378
mov eax, ebx
mov dword [ebx], 0x80060000
mov dword [esp + 0x10], eax
lea edi, [ebx + 0x10]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
sub edx, dword [ebp + 0x1c]
mov ebx, edi
sar edx, 1
mov dword [eax + 4], edx
mov eax, dword [esp + 0x18]
mov dword [ebx], ecx
add ebx, 4
cmp esi, eax
jb 0x4eb2d0
mov edi, dword [esp + 0x10]
xor edx, edx
mov ecx, ebx
test edi, edi
je 0x4eb3ac
mov eax, esi
sub eax, dword [ebp + 0x1c]
sar eax, 1
sub eax, dword [edi + 4]
mov dword [edi + 8], eax
cmp dword [esp + 0x74], 0
je 0x4eb3ea
test edi, edi
je 0x4eb3c7
lea eax, [ebx - 0x10]
cmp edi, eax
jne 0x4eb3c7
cmp dword [edi + 0xc], 0xff
je 0x4eb3e0
mov edi, ebx
mov dword [ebx], 0x80060000
lea ecx, [ebx + 0x10]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0xff
mov eax, esi
sub eax, dword [ebp + 0x1c]
sar eax, 1
mov dword [edi + 4], eax
mov eax, dword [esp + 0x70]
test al, 8
je 0x4eda59
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x4eda6a
mov esi, dword [ebp + 0x28]
xor eax, eax
add esi, esi
mov dword [esp + 0x50], eax
xor edx, edx
mov dword [esp + 0x20], 0xc
mov eax, esi
div dword [esp + 0x20]
sub esi, edx
mov edx, ecx
add esi, dword [ebp + 0x14]
or edx, 0x80
test ecx, 0x1000000
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0xa4]
cmove edx, ecx
mov dword [esp + 0x2c], edx
cmp esi, dword [esp + 0x18]
jae 0x4eb397
nop word [eax + eax]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x60], 0
mov dword [esp + 0x20], 0
cmp ebx, dword [esp + 0x84]
jae 0x4eda76
mov ebp, dword [ebp]
movzx eax, di
cmp eax, dword [ebp + 0x20]
ja 0x4eda52
cmp dword [esp + 0x48], 0
mov eax, esi
movzx edi, word [esi]
mov dword [esp + 0x30], eax
mov ecx, edi
mov dword [esp + 0x40], edi
lea esi, [eax + 2]
mov dword [esp + 0xa4], esi
mov edx, esi
je 0x4eb4eb
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4eb4eb
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
mov dword [esp + 0x40], edi
mov ecx, edi
mov dword [esp + 0xa4], esi
mov edx, esi
cmp dword [esp + 0x38], 0
je 0x4eb571
cmp ecx, 0x5c
jne 0x4eb513
cmp edx, dword [esp + 0x18]
jae 0x4eb513
cmp word [esi], 0x45
jne 0x4eb513
mov dword [esp + 0x38], 0
add esi, 2
jmp 0x4ed85f
cmp dword [esp + 0x6c], 0
jg case.0x4eb943.34
cmp dword [esp + 0x1c], 0
jne 0x4eb564
mov ecx, dword [esp + 0x68]
mov eax, ecx
dec ecx
mov dword [esp + 0x68], ecx
test eax, eax
jg 0x4eb55c
mov ecx, dword [esp + 0xb0]
lea eax, [esp + 0x64]
push ecx
push ebx
push dword [esp + 0x7c]
push eax
push dword [esp + 0x40]
call fcn.004eb170
mov ebx, eax
add esp, 0x14
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], 1
mov dword [esp + 0x58], 0
jmp 0x4ed856
cmp dword [esp + 0x1c], 0
je 0x4eb6ca
mov eax, dword [esp + 0x2c]
and eax, 0x400080
cmp eax, 0x400080
jne 0x4eb5de
cmp ecx, 0xff
jbe 0x4eb5a7
mov eax, edi
or eax, 1
cmp eax, 0x200f
je 0x4eb5a7
cmp eax, 0x2029
jne 0x4eb5de
mov edx, dword [esp + 0xb0]
cmp edi, 0x100
jae 0x4eb6d1
cmp edi, 0x23
je 0x4eb6d1
mov eax, dword [edx + 0x10]
test byte [edi + eax], 1
jne 0x4eb6d1
cmp edi, 0x85
je 0x4eb6d1
jmp 0x4eb5e5
mov edx, dword [esp + 0xb0]
cmp edi, 0x29
je 0x4eb671
cmp edi, 0x5c
jne 0x4ed856
mov eax, dword [esp + 0x2c]
test eax, 0x400000
je 0x4ed856
push edx
push 0
push dword [ebp + 0x24]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x30]
lea eax, [esp + 0xc0]
push eax
call fcn.004e50e0
mov ecx, dword [esp + 0x44]
add esp, 0x20
test ecx, ecx
jne 0x4ed8fd
sub eax, ecx
je 0x4eb661
sub eax, 0x19
je 0x4ed459
mov esi, dword [esp + 0xa4]
sub eax, 1
jne 0x4ed893
mov dword [esp + 0x38], 1
jmp 0x4ed85f
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x40]
jmp 0x4ed856
mov eax, esi
xor ecx, ecx
sub eax, dword [esp + 0x8c]
sar eax, 1
dec eax
mov dword [esp + 0x1c], ecx
cmp eax, 0xffff
jg 0x4ed89d
mov edx, dword [esp + 0x88]
mov eax, ebx
mov ebp, dword [esp + 0xb0]
sub eax, edx
mov edi, dword [esp + 0x10]
sar eax, 2
dec eax
mov dword [edx], eax
mov edx, dword [esp + 0x7c]
test edx, edx
je 0x4ed86e
mov dword [ebx], edx
add ebx, 4
xor eax, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x7c], eax
jmp 0x4ed86e
mov edx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x18]
cmp edi, 0x5c
jne 0x4eb6ff
cmp esi, ebp
jae 0x4eb6ff
movzx eax, word [esi]
cmp eax, 0x51
je 0x4eb6eb
cmp eax, 0x45
jne 0x4eb6ff
xor ecx, ecx
cmp eax, 0x51
sete cl
add esi, 2
mov dword [esp + 0x38], ecx
jmp 0x4ed85f
test byte [esp + 0x2c], 0x80
je 0x4eb818
cmp edi, 0x100
jae 0x4eb71f
mov eax, dword [edx + 0x10]
test byte [edi + eax], 1
jne 0x4ed85f
cmp edi, 0x85
je 0x4ed85f
mov eax, edi
or eax, 1
cmp eax, 0x200f
je 0x4ed85f
cmp eax, 0x2029
je 0x4ed85f
cmp edi, 0x23
jne 0x4eb818
cmp esi, ebp
jae 0x4ed85f
nop word [eax + eax]
mov eax, dword [edx + 0x90]
lea edi, [edx + 0x94]
mov ecx, dword [edx + 0x20]
test eax, eax
je 0x4eb7d2
cmp esi, ecx
jae 0x4eb792
push dword [esp + 0x48]
push edi
push ecx
push eax
push esi
call fcn.0051fd50
add esp, 0x14
test eax, eax
je 0x4eb792
mov eax, 1
jmp 0x4eb794
xor eax, eax
test eax, eax
jne 0x4eb80a
mov edx, dword [esp + 0xb0]
add esi, 2
cmp dword [esp + 0x48], 0
mov eax, esi
je 0x4eb7c9
cmp esi, ebp
jae 0x4eb7c9
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4eb760
add esi, 2
mov eax, esi
cmp eax, ebp
jb 0x4eb760
jmp 0x4ed85f
mov edx, dword [edi]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x4eb798
mov ecx, dword [esp + 0xb0]
mov ax, word [esi]
cmp ax, word [ecx + 0xa0]
jne 0x4eb814
cmp edx, 1
je 0x4eb80a
mov ax, word [esi + 2]
mov edx, ecx
cmp ax, word [edx + 0xa2]
jne 0x4eb79f
lea edi, [edx + 0x94]
mov eax, dword [edi]
lea esi, [esi + eax*2]
jmp 0x4ed85f
mov edx, ecx
jmp 0x4eb79f
cmp edi, 0x28
jne 0x4eb861
mov eax, ebp
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x4eb894
cmp word [esi], 0x3f
jne 0x4eb894
cmp word [esi + 2], 0x23
jne 0x4eb894
nop word [eax + eax]
add esi, 2
cmp esi, ebp
jae 0x4ed8aa
cmp word [esi], 0x29
jne 0x4eb840
cmp esi, ebp
jae 0x4ed8aa
add esi, 2
jmp 0x4ed85f
cmp edi, 0x2a
je 0x4eb8cf
cmp edi, 0x2b
je 0x4eb8cf
cmp edi, 0x3f
je 0x4eb8cf
cmp edi, 0x7b
jne 0x4eb894
lea eax, [esp + 0x24]
mov dword [esp + 0x5c], esi
push eax
push 0
push 0
lea eax, [esp + 0x68]
push ebp
push eax
call fcn.004ef340
add esp, 0x14
test eax, eax
jne 0x4eb8cf
mov ecx, dword [esp + 0x68]
mov eax, ecx
dec ecx
mov dword [esp + 0x68], ecx
test eax, eax
jg 0x4eb8cf
mov ecx, dword [esp + 0xb0]
lea eax, [esp + 0x64]
push ecx
push ebx
push dword [esp + 0x7c]
push eax
push dword [esp + 0x40]
call fcn.004eb170
mov ebx, eax
add esp, 0x14
mov eax, dword [esp + 0x64]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x6c]
test edx, edx
jle case.0x4eb943.33
cmp edi, 0x28
jne case.0x4eb943.34
mov eax, ebp
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl case.0x4eb943.34
movzx eax, word [esi]
cmp eax, 0x3f
je 0x4eb906
cmp eax, 0x2a
je 0x4eb90c
sub esi, 2
mov ecx, 0x80
jmp 0x4eda9a
cmp word [esi], 0x2a
jne 0x4eb930
movzx eax, word [esi + 2]
mov ecx, 0xff
cmp ax, cx
ja 0x4eb92c
mov ecx, eax
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0x10]
test byte [ecx + eax], 4
jne case.0x4eb943.33
xor eax, eax
jmp 0x4eb967
movzx eax, word [esi + 2]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x4eb943.34
movzx eax, byte [eax + 0x4edac8]
jmp dword [eax*4 + 0x4edab8]
xor eax, eax
cmp edx, 2
sete al
jmp 0x4eb967
movzx eax, word [esi + 4]
cmp eax, 0x3d
je 0x4eb962
cmp eax, 0x21
jne case.0x4eb943.34
mov eax, 1
test eax, eax
je case.0x4eb943.34
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x30], edx
mov edx, eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x58], 0
test eax, eax
je 0x4eb9cb
cmp edi, 0x3f
je 0x4eb99f
cmp edi, 0x2b
jne 0x4eb9cb
cmp edi, 0x3f
mov ecx, 0x10000
mov ebp, 0x20000
cmove ecx, ebp
add ecx, eax
xor eax, eax
cmp edx, 0x803d0000
setne al
lea eax, [eax*8 - 0xc]
mov dword [eax + ebx], ecx
jmp 0x4ed85f
lea eax, [edi - 0x24]
cmp eax, 0x58
ja case.0x4eb9de.37
movzx eax, byte [eax + 0x4edb20]
jmp dword [eax*4 + 0x4edaec]
mov ebp, dword [esp + 0xb0]
push ebp
push 0
mov dword [esp + 0x64], esi
mov eax, dword [ebp]
push dword [eax + 0x24]
lea eax, [esp + 0x30]
push dword [esp + 0x38]
push eax
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x30]
lea eax, [esp + 0xc0]
push eax
call fcn.004e50e0
mov ecx, dword [esp + 0x44]
add esp, 0x20
mov edi, eax
test ecx, ecx
jne 0x4ebc43
test edi, edi
je 0x4ebd9a
js 0x4ebd50
lea eax, [edi - 6]
cmp eax, 0x16
ja case.0x4eba4a.13
movzx eax, byte [eax + 0x4edb94]
jmp dword [eax*4 + 0x4edb7c]
test dword [esp + 0x2c], 0x100000
mov esi, dword [esp + 0xa4]
je 0x4eba70
mov ecx, 0xb7
mov dword [esp + 0x24], ecx
jmp 0x4ebc4a
lea eax, [edi - 0x7fe80000]
mov dword [esp + 0x34], 1
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x14], ebx
jmp 0x4ed866
push ebp
lea eax, [esp + 0x28]
mov dword [esp + 0x34], 0
push eax
lea eax, [esp + 0x48]
mov dword [esp + 0x48], 0
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.004eaa00
add esp, 0x18
test eax, eax
je 0x4ebc3f
cmp dword [esp + 0x98], 0
je 0x4ebae1
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [eax + 0xf]
movzx ecx, word [esp + 0x30]
lea eax, [edi - 0x7fe80000]
mov esi, dword [esp + 0xa4]
mov dword [ebx], eax
movzx eax, word [esp + 0x40]
shl ecx, 0x10
or ecx, eax
mov dword [esp + 0x34], 1
mov dword [ebx + 4], ecx
add ebx, 8
mov dword [esp + 0x14], ebx
jmp 0x4ed866
mov esi, dword [esp + 0xa4]
mov ecx, dword [esp + 0x18]
cmp esi, ecx
jae 0x4ebc89
movzx eax, word [esi]
cmp eax, 0x7b
je 0x4ebb3f
cmp eax, 0x3c
je 0x4ebbae
cmp eax, 0x27
jne 0x4ebc89
cmp eax, 0x27
mov ebp, 0x7d
mov eax, 0x27
cmove ebp, eax
cmp edi, 0x1b
jne 0x4ebbcf
cmp ebp, 0x7d
je 0x4ebbcf
lea eax, [esi + 2]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0xb8]
push 0xa1
push 0xffff
push dword [eax + 0x74]
lea eax, [esp + 0x44]
push ecx
push eax
call fcn.004ef200
add esp, 0x1c
test eax, eax
je 0x4ebbc3
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x18]
cmp ecx, edi
jae 0x4ebbb5
movzx eax, word [ecx]
cmp eax, ebp
jne 0x4ebbb5
mov eax, dword [esp + 0x44]
mov esi, ecx
jmp 0x4ed4fa
mov ebp, 0x3e
jmp 0x4ebb4f
mov ecx, 0x9d
mov dword [esp + 0x24], ecx
jmp 0x4ebc4e
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4ebc4a
mov ecx, dword [esp + 0x18]
push dword [esp + 0xb0]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
push ebp
push dword [esp + 0x60]
lea eax, [esp + 0xc0]
push ecx
push eax
call fcn.004eefd0
add esp, 0x24
test eax, eax
je 0x4ebc3f
cmp edi, 0x1c
je 0x4ebc13
mov eax, 0x80210000
cmp ebp, 0x7d
jne 0x4ebc18
mov eax, 0x80040000
mov esi, dword [esp + 0xa4]
mov dword [ebx], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [esp + 0x34], 1
jmp 0x4ed85b
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x18]
test byte [esp + 0x70], 2
je 0x4eda9a
mov eax, dword [esp + 0x5c]
mov esi, eax
cmp eax, edi
jb 0x4ebdbb
mov ecx, 0x5c
mov ebp, dword [esp + 0xb0]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x34], 1
jmp 0x4ed866
cmp edi, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [esp + 0x24], ecx
jmp 0x4ebc4a
mov dword [esp + 0x34], 1
lea eax, [edi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x14], ebx
mov esi, dword [esp + 0xa4]
jmp 0x4ed866
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x34], 1
je case.0x4eba4a.13
cmp edi, 7
je 0x4ebce8
cmp edi, 9
je 0x4ebce8
mov eax, 0x8018000f
cmp edi, 0xb
jne 0x4ebced
mov eax, 0x80180010
mov dword [ebx], eax
add edi, 0xfffffffa
add ebx, 4
mov dword [esp + 0x14], ebx
cmp edi, 5
ja case.default.0x4ebcfe
jmp dword [edi*4 + 0x4edbac]
mov esi, dword [esp + 0xa4]
mov dword [ebx], 0x3000d
add ebx, 4
mov dword [esp + 0x14], ebx
jmp 0x4ed866
mov esi, dword [esp + 0xa4]
mov dword [ebx], 0x70000
add ebx, 4
mov dword [esp + 0x14], ebx
jmp 0x4ed866
mov esi, dword [esp + 0xa4]
mov dword [ebx], 0x90000
add ebx, 4
mov dword [esp + 0x14], ebx
jmp 0x4ed866
mov esi, dword [esp + 0xa4]
neg edi
mov ecx, esi
mov eax, edi
sub ecx, dword [ebp + 0x1c]
or eax, 0x80030000
sar ecx, 1
dec ecx
mov dword [ebx], eax
add ebx, 4
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x14], ebx
cmp edi, 0xa
jge 0x4ebc73
cmp dword [ebp + edi*4 + 0x2c], 0xffffffff
jne 0x4ebc7c
mov dword [ebp + edi*4 + 0x2c], ecx
mov dword [esp + 0x34], 1
jmp 0x4ed866
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0xa4]
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x34], 1
jmp 0x4ed866
cmp dword [esp + 0x48], 0
lea esi, [eax + 2]
movzx ecx, word [eax]
je 0x4ebc6c
mov ebp, dword [esp + 0xb0]
mov eax, ecx
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ebc73
movzx eax, word [esi]
and ecx, 0x3ff
shl ecx, 0xa
and eax, 0x3ff
or ecx, eax
mov dword [esp + 0x34], 1
add ecx, 0x10000
add esi, 2
mov dword [ebx], ecx
add ebx, 4
mov dword [esp + 0x14], ebx
jmp 0x4ed866
mov dword [ebx], 0x80090000
jmp 0x4ed858
mov dword [ebx], 0x80160000
jmp 0x4ed858
mov dword [ebx], 0x80170000
mov dword [esp + 0x34], 1
jmp 0x4ed858
mov dword [esp + 0x58], 0x80340000
jmp 0x4ebeb9
mov dword [esp + 0x58], 0x80370000
jmp 0x4ebeb9
mov dword [esp + 0x58], 0x803a0000
jmp 0x4ebeb9
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x24]
lea eax, [esp + 0xb4]
push eax
call fcn.004ef340
add esp, 0x14
test eax, eax
jne 0x4ebeaa
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4ed8fd
mov esi, dword [esp + 0xa4]
mov dword [ebx], edi
add ebx, 4
mov dword [esp + 0x34], 1
jmp 0x4ed85b
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x58], 0x803d0000
test ebp, ebp
je 0x4ed8b4
cmp dword [ebx - 4], 0x802a0000
lea ecx, [ebx - 4]
jne 0x4ebef1
mov edx, dword [esp + 0x78]
cmp ecx, edx
jb 0x4ebee1
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edx
jae 0x4ebed5
mov dword [edx], 0x801a0000
mov dword [ebx + 4], 0x80190000
add ebx, 8
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0xb0]
mov ecx, dword [esp + 0x1c]
mov dword [ebx], eax
add ebx, 4
cmp edi, 0x7b
mov dword [esp + 0x14], ebx
mov edi, dword [esp + 0x10]
jne 0x4ed86e
mov eax, dword [esp + 0x60]
mov dword [ebx], eax
mov eax, dword [esp + 0x20]
mov dword [ebx + 4], eax
add ebx, 8
mov dword [esp + 0x14], ebx
jmp 0x4ed86e
mov edx, dword [esp + 0x18]
mov eax, edx
sub eax, esi
mov dword [esp + 0x34], 1
and eax, 0xfffffffe
cmp eax, 0xc
jl 0x4ebff1
push 6
push 0x69fbd0
push esi
call fcn.0051e340
add esp, 0xc
test eax, eax
je 0x4ebf73
push 6
push str._:_:__
push esi
call fcn.0051e340
add esp, 0xc
test eax, eax
jne 0x4ebfed
mov dword [ebx], 0x80180005
lea eax, [ebx + 8]
cmp word [esi + 4], 0x3c
jne 0x4ebf8c
mov dword [ebx + 4], 0x80230000
jmp 0x4ebfa9
mov ecx, dword [esp + 0xac]
mov dword [ebx + 4], 0x80250000
mov dword [ecx], 1
mov dword [eax], 0
add eax, 4
test dword [esp + 0x2c], 0x20000
lea ebx, [eax + 4]
jne 0x4ebfcd
mov dword [eax], 0x8018000b
mov dword [ebx], 0x80190000
add ebx, 4
add esi, 0xc
jmp 0x4ed85b
mov dword [eax], 0x80180010
mov dword [ebx], 0x90000
add ebx, 4
mov dword [ebx], 0x80190000
add ebx, 4
add esi, 0xc
jmp 0x4ed85b
mov edx, dword [esp + 0x18]
cmp esi, edx
jae 0x4ec022
movzx eax, word [esi]
cmp eax, 0x3a
je 0x4ec007
cmp eax, 0x2e
je 0x4ec007
cmp eax, 0x3d
jne 0x4ec022
lea eax, [esp + 0x5c]
push eax
push edx
push esi
call fcn.004e6210
add esp, 0xc
test eax, eax
jne 0x4ed8c1
mov edx, dword [esp + 0x18]
xor ebp, ebp
cmp esi, edx
jae 0x4ec0f8
mov ebx, dword [esp + 0x18]
movzx edi, word [esi]
add esi, 2
cmp dword [esp + 0x48], 0
mov edx, edi
mov dword [esp + 0x40], edi
mov ecx, esi
mov dword [esp + 0xa4], esi
je 0x4ec085
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ec085
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
mov dword [esp + 0x40], edi
mov edx, edi
mov dword [esp + 0xa4], esi
mov ecx, esi
cmp edx, 0x5c
jne 0x4ec0cc
cmp ecx, ebx
jae 0x4ec0a0
cmp word [esi], 0x45
jne 0x4ec0a0
lea esi, [ecx + 2]
mov dword [esp + 0xa4], esi
jmp 0x4ec0ec
mov eax, ebx
sub eax, ecx
and eax, 0xfffffffe
cmp eax, 6
jl 0x4ec0f4
push 3
push 0x69fbe0
push esi
call fcn.0051e340
add esp, 0xc
test eax, eax
jne 0x4ec0f4
add esi, 6
mov dword [esp + 0xa4], esi
jmp 0x4ec0ec
test dword [esp + 0x2c], 0x1000000
je 0x4ec0e0
cmp edx, 0x20
je 0x4ec0ec
cmp edx, 9
je 0x4ec0ec
test ebp, ebp
jne 0x4ec0f4
cmp edi, 0x5e
jne 0x4ec0f4
lea ebp, [edi - 0x5d]
cmp esi, ebx
jb 0x4ec030
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0xb0]
cmp edi, 0x5d
jne 0x4ec120
test byte [ecx + 0x6c], 1
je 0x4ec120
test ebp, ebp
mov eax, 0x800b0000
mov ecx, 0x800c0000
cmovne eax, ecx
mov dword [ebx], eax
jmp 0x4ed858
test ebp, ebp
mov dword [esp + 0x34], 1
mov edx, 0x800e0000
mov eax, 0x800a0000
cmovne eax, edx
mov dword [ebx], eax
add ebx, 4
xor edx, edx
mov dword [esp + 0x14], edx
cmp dword [esp + 0x38], 0
mov ebp, 1
je 0x4ec17d
cmp edi, 0x5c
jne 0x4ec3f7
cmp esi, dword [esp + 0x18]
jae 0x4ec3f7
cmp word [esi], 0x45
jne 0x4ec3f7
add esi, 2
mov dword [esp + 0x38], 0
xor ebp, ebp
jmp 0x4ec5ca
test dword [esp + 0x2c], 0x1000000
je 0x4ec199
cmp edi, 0x20
je 0x4ec5c6
cmp edi, 9
je 0x4ec5c6
cmp edi, 0x5b
jne 0x4ec30a
mov ecx, dword [esp + 0x18]
mov eax, ecx
sub eax, esi
and eax, 0xfffffffe
cmp eax, 6
jl 0x4ec3f7
movzx eax, word [esi]
cmp eax, 0x3a
je 0x4ec1cc
cmp eax, 0x2e
je 0x4ec1cc
cmp eax, 0x3d
jne 0x4ec3f7
lea eax, [esp + 0x5c]
push eax
push ecx
push esi
call fcn.004e6210
add esp, 0xc
test eax, eax
je 0x4ec3f3
mov dword [esp + 0x30], 0
cmp dword [esp + 0x14], ebp
je 0x4ed910
cmp word [esi], 0x3a
jne 0x4ed8d7
add esi, 2
mov edx, esi
cmp word [esi], 0x5e
jne 0x4ec213
add esi, 2
mov dword [esp + 0x30], ebp
mov edx, esi
mov ecx, dword [esp + 0x5c]
mov ebp, 0x69f910
sub ecx, edx
sar ecx, 1
xor edi, edi
mov dword [esp + 0x20], ecx
nop word [eax + eax]
movzx eax, byte [edi + 0x69f964]
cmp ecx, eax
jne 0x4ec250
push ecx
push ebp
push edx
call fcn.0051e340
add esp, 0xc
test eax, eax
je 0x4ec26e
mov ecx, dword [esp + 0x20]
mov edx, esi
movzx eax, byte [edi + 0x69f964]
inc ebp
inc edi
add ebp, eax
cmp byte [edi + 0x69f964], 0
jne 0x4ec230
mov ecx, 0x82
jmp 0x4eda9a
test edi, edi
js 0x4ec264
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x18]
add esi, 4
add eax, 0xfffffffe
cmp esi, eax
jae 0x4ec295
cmp word [esi], 0x2d
jne 0x4ec295
cmp word [esi + 2], 0x5d
jne 0x4ed910
xor edx, edx
test dword [esp + 0x2c], 0x20000
mov dword [esp + 0x14], edx
je 0x4ec2f1
mov eax, dword [edi*8 + 0x6f93a8]
mov ecx, dword [edi*8 + 0x6f93ac]
test eax, eax
js 0x4ec2da
mov edx, dword [esp + 0x30]
xor edx, 1
shl eax, 0x10
sub edx, 0x7fe7fff1
or eax, ecx
mov dword [ebx], edx
mov edx, dword [esp + 0x14]
mov dword [ebx + 4], eax
add ebx, 8
jmp 0x4ec5c6
test ecx, ecx
je 0x4ec2f1
mov eax, dword [esp + 0x30]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [ebx], eax
jmp 0x4ec5c3
mov eax, dword [esp + 0x30]
add eax, 0x801c
shl eax, 0x10
mov dword [ebx], eax
mov dword [ebx + 4], edi
add ebx, 8
jmp 0x4ec5c6
cmp edi, 0x2d
jne 0x4ec331
cmp edx, 2
jb 0x4ec3f7
cmp edx, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
mov edx, ebp
cmove eax, ecx
mov dword [ebx], eax
jmp 0x4ec5bf
cmp edi, 0x5c
jne 0x4ec3f7
mov eax, dword [ecx]
mov edi, esi
push ecx
push 1
mov dword [esp + 0x64], edi
mov ebp, esi
push dword [eax + 0x24]
lea eax, [esp + 0x30]
mov dword [esp + 0x2c], esi
push dword [esp + 0x38]
push eax
lea eax, [esp + 0x54]
push eax
push dword [esp + 0x30]
lea eax, [esp + 0xc0]
push eax
call fcn.004e50e0
mov ecx, dword [esp + 0x44]
add esp, 0x20
mov esi, eax
test ecx, ecx
je 0x4ec3d1
test byte [esp + 0x70], 2
je 0x4ed8fd
mov esi, edi
cmp ebp, dword [esp + 0x18]
jb 0x4ec394
mov edi, 0x5c
jmp 0x4ec3f1
mov esi, dword [esp + 0x20]
movzx edi, word [edi]
add esi, 2
cmp dword [esp + 0x48], 0
je 0x4ec3f1
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ec3f1
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
jmp 0x4ec3f1
mov eax, esi
cmp esi, 0x1a
ja case.0x4ec3df.1
movzx eax, byte [eax + 0x4edbdc]
jmp dword [eax*4 + 0x4edbc4]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x40]
xor ebp, ebp
mov edx, dword [esp + 0x14]
cmp edx, 1
jne 0x4ec5ba
cmp edi, dword [ebx - 8]
jne 0x4ec593
sub ebx, 4
xor edx, edx
mov dword [esp + 0x14], edx
jmp 0x4ec5c6
mov esi, dword [esp + 0xa4]
mov edi, 8
xor ebp, ebp
jmp 0x4ec3f3
mov esi, dword [esp + 0xa4]
mov ebp, 1
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], ebp
jmp 0x4ec5ca
mov esi, dword [esp + 0xa4]
mov edx, dword [esp + 0x14]
jmp 0x4ec5c6
cmp dword [esp + 0x14], 1
je 0x4ed909
xor edx, edx
lea eax, [esi - 6]
mov dword [esp + 0x14], edx
cmp eax, 0xf
ja case.0x4ec474.13
movzx eax, byte [eax + 0x4edc0c]
jmp dword [eax*4 + 0x4edbf8]
lea eax, [esi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
jmp case.default.0x4ec4cf
test dword [esp + 0x2c], 0x20000
jne 0x4ec4a5
lea eax, [esi - 0x7fe80000]
mov dword [ebx], eax
add ebx, 4
jmp case.default.0x4ec4cf
cmp esi, 7
je 0x4ec4b9
cmp esi, 9
je 0x4ec4b9
mov eax, 0x8018000f
cmp esi, 0xb
jne 0x4ec4be
mov eax, 0x80180010
mov dword [ebx], eax
add esi, 0xfffffffa
add ebx, 4
cmp esi, 5
ja case.default.0x4ec4cf
jmp dword [esi*4 + 0x4edc1c]
mov dword [ebx], 0x3000d
add ebx, 4
jmp case.default.0x4ec4cf
mov dword [ebx], 0x70000
add ebx, 4
jmp case.default.0x4ec4cf
mov dword [ebx], 0x90000
add ebx, 4
jmp case.default.0x4ec4cf
push dword [esp + 0xb0]
lea eax, [esp + 0x28]
mov dword [esp + 0x24], edx
push eax
lea eax, [esp + 0x68]
mov dword [esp + 0x68], edx
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.004eaa00
add esp, 0x18
test eax, eax
je 0x4ed9c1
cmp dword [esp + 0x9c], 0
je 0x4ec54d
xor eax, eax
cmp esi, 0xf
sete al
lea esi, [eax + 0xf]
movzx ecx, word [esp + 0x20]
lea eax, [esi - 0x7fe80000]
mov edx, dword [esp + 0x14]
mov dword [ebx], eax
movzx eax, word [esp + 0x60]
shl ecx, 0x10
or ecx, eax
mov dword [ebx + 4], ecx
add ebx, 8
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xa4]
add eax, 0xfffffffe
cmp esi, eax
jae 0x4ec5c6
cmp word [esi], 0x2d
jne 0x4ec5c6
cmp word [esi + 2], 0x5d
jne 0x4ed910
jmp 0x4ec5c6
jb 0x4ed91a
test ebp, ebp
jne 0x4ec5ad
cmp dword [ebx - 4], 0x801f0000
jne 0x4ec5ad
mov dword [ebx - 4], 0x801e0000
mov dword [ebx], edi
add ebx, 4
xor edx, edx
mov dword [esp + 0x14], edx
jmp 0x4ec5c6
lea edx, [ebp + 2]
mov dword [ebx], edi
mov dword [esp + 0x14], edx
add ebx, 4
mov ebp, dword [esp + 0x38]
cmp esi, dword [esp + 0x18]
jae 0x4ed927
movzx edi, word [esi]
add esi, 2
cmp dword [esp + 0x48], 0
mov ecx, edi
mov dword [esp + 0x40], edi
mov dword [esp + 0xa4], esi
je 0x4ec625
mov eax, edi
and eax, 0xfc00
cmp eax, 0xd800
jne 0x4ec625
movzx eax, word [esi]
and edi, 0x3ff
shl edi, 0xa
and eax, 0x3ff
or edi, eax
add edi, 0x10000
add esi, 2
mov dword [esp + 0x40], edi
mov ecx, edi
mov dword [esp + 0xa4], esi
cmp ecx, 0x5d
mov ecx, dword [esp + 0xb0]
jne 0x4ec142
test ebp, ebp
jne 0x4ec142
cmp edx, 1
jne 0x4ec649
mov dword [ebx - 4], 0x2d
mov dword [ebx], 0x800d0000
mov ebp, ecx
add ebx, 4
mov dword [esp + 0x14], ebx
jmp 0x4ed866
cmp esi, dword [esp + 0x18]
jae 0x4eda95
movzx eax, word [esi]
cmp eax, 0x3f
je 0x4eca9e
cmp eax, 0x2a
je 0x4ec6b7
inc dword [esp + 0x28]
test dword [esp + 0x2c], 0x2000
jne 0x4ec6ab
mov edi, dword [esp + 0xb0]
mov eax, dword [edi + 0x74]
cmp eax, 0xffff
jae 0x4eda1c
inc eax
mov dword [edi + 0x74], eax
or eax, 0x80080000
mov dword [ebx], eax
jmp 0x4ed858
mov eax, 0x801a0000
mov dword [ebx], eax
jmp 0x4ed858
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0xb0]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x4ed866
movzx ecx, word [esi + 2]
mov dword [esp + 0x40], ecx
cmp ecx, 0x29
je 0x4ed866
cmp ecx, 0xff
ja 0x4ec8f8
mov eax, dword [ebp + 0x10]
test byte [ecx + eax], 4
je 0x4ec8f8
push ebp
lea eax, [esp + 0x28]
mov dword [esp + 0x24], 0x69f7a8
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
push 0
push dword [esp + 0x60]
lea eax, [esp + 0xc0]
push dword [esp + 0x34]
push eax
call fcn.004eefd0
add esp, 0x24
test eax, eax
je 0x4ed9c1
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x40], esi
cmp esi, dword [esp + 0x18]
jae 0x4ed94f
cmp word [esi], 0x3a
jne 0x4ed94f
mov esi, dword [esp + 0x20]
xor ebp, ebp
xor ecx, ecx
mov dword [esp + 0x44], 0
xor edx, edx
xor edi, edi
xor ebx, ebx
nop
lea eax, [edi*8 + 0x69f880]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
cmp edi, dword [eax]
jne 0x4ec7a4
push dword [esp + 0x3c]
mov dword [esp + 0x64], edx
mov edi, ebx
push esi
push dword [esp + 0x5c]
call fcn.0051e340
add esp, 0xc
test eax, eax
je 0x4ec7c1
mov eax, dword [esp + 0x20]
mov ecx, ebp
mov eax, dword [eax]
lea ebp, [ecx + 1]
inc eax
mov dword [esp + 0x44], ebp
mov edi, ebp
add esi, eax
mov ecx, ebp
mov edx, ebp
mov eax, ebp
mov ebx, edi
cmp edi, 0x11
jl 0x4ec770
jmp 0x4ec7c5
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
cmp eax, 0x11
jge 0x4ed94f
mov edx, dword [edi*8 + 0x69f884]
mov edi, dword [esp + 0x30]
test edi, edi
jle 0x4ec7f6
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x4ed931
cmp edx, 0x80250000
ja 0x4ec854
je 0x4ec87f
cmp edx, 0x80230000
ja 0x4ec83e
je 0x4ed15f
cmp edx, 0x80020000
je case.0x4ecacc.62
cmp edx, 0x80220000
jne 0x4ec84a
mov ecx, dword [esp + 0x28]
add esi, 2
mov dword [ebx], edx
add ebx, 4
movzx eax, cx
inc eax
movzx ebp, ax
mov dword [esp + 0x28], ebp
jmp 0x4ed85b
cmp edx, 0x80240000
je 0x4ed191
mov ecx, 0xbd
jmp 0x4eda9a
cmp edx, 0x80280000
ja 0x4ec887
je 0x4ec87f
cmp edx, 0x80260000
je 0x4ec87f
cmp edx, 0x80270000
jne 0x4ec84a
mov ebp, dword [esp + 0xb0]
add esi, 2
mov dword [ebx], edx
jmp 0x4ed214
sub esi, 2
jmp 0x4ed1e7
cmp edx, 0x8fff0000
jne 0x4ec84a
mov ebp, dword [esp + 0x28]
add esi, 2
mov edi, dword [esp + 0x50]
inc ebp
mov dword [ebx], 0x80220000
mov dword [ebx + 4], 0x80020000
add ebx, 8
mov dword [esp + 0x28], ebp
mov dword [esp + 0x14], ebx
test edi, edi
jne 0x4ec8c7
mov eax, dword [esp + 0xb0]
mov edi, dword [eax + 0x14]
mov dword [esp + 0x50], edi
jmp 0x4ec8db
add edi, 0xc
mov dword [esp + 0x50], edi
cmp edi, dword [esp + 0x80]
jae 0x4eda41
mov eax, 4
mov word [edi], bp
mov word [edi + 6], ax
mov eax, dword [esp + 0x2c]
and eax, 0x10424e8
mov dword [edi + 8], eax
jmp 0x4ed85f
push ebp
lea eax, [esp + 0x28]
mov dword [esp + 0x24], 0x69f6d8
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
push 0
push dword [esp + 0x60]
lea eax, [esp + 0xc0]
push dword [esp + 0x34]
push eax
call fcn.004eefd0
add esp, 0x24
test eax, eax
je 0x4ed9c1
mov esi, dword [esp + 0xa4]
mov dword [esp + 0x40], esi
cmp esi, dword [esp + 0x18]
jae 0x4ed889
movzx eax, word [esi]
cmp eax, 0x3a
je 0x4ec95d
cmp eax, 0x29
jne 0x4ed889
mov ebx, dword [esp + 0x20]
xor edi, edi
xor esi, esi
mov dword [esp + 0x44], edi
xor ecx, ecx
xor edx, edx
xor eax, eax
nop
mov ebp, dword [esp + 0x3c]
lea eax, [eax + eax*2]
mov dword [esp + 0x20], eax
cmp ebp, dword [eax*4 + 0x69f708]
jne 0x4ec9a1
push dword [esp + 0x3c]
mov ebp, edx
push ebx
push dword [esp + 0x5c]
call fcn.0051e340
add esp, 0xc
test eax, eax
je 0x4ec9c1
mov eax, dword [esp + 0x20]
mov ecx, esi
mov eax, dword [eax*4 + 0x69f708]
lea edi, [ecx + 1]
inc eax
mov dword [esp + 0x44], edi
add ebx, eax
mov esi, edi
mov eax, edi
mov ecx, edi
mov edx, edi
mov ebp, edi
cmp eax, 9
jl 0x4ec970
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x14]
cmp ebp, 9
jge 0x4ed889
cmp word [esi], 0x3a
jne 0x4ec9e8
lea eax, [esi + 2]
cmp eax, dword [esp + 0x18]
jae 0x4ec9e8
cmp word [eax], 0x29
cmove esi, eax
lea ecx, [edi + edi*2]
mov edi, dword [ecx*4 + 0x69f710]
test edi, edi
jle 0x4eca5e
cmp word [esi], 0x3a
jne 0x4ed959
mov ecx, dword [ecx*4 + 0x69f70c]
lea edx, [ebx + 4]
xor eax, eax
mov dword [esp + 0x78], ebx
add esi, 2
cmp ecx, 0x802a0000
sete al
mov dword [esp + 0x34], eax
xor eax, eax
mov ebp, 0x10000
cmp ecx, 0x80290000
cmovne eax, ebp
add eax, ecx
mov ebp, dword [esp + 0xb0]
mov ecx, 1
mov dword [ebx], eax
lea ebx, [edx + 4]
mov dword [esp + 0x88], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x1c], ecx
jmp 0x4ed86a
mov ecx, dword [ecx*4 + 0x69f70c]
lea edx, [ebx + 4]
xor eax, eax
mov dword [esp + 0x78], ebx
cmp ecx, 0x802a0000
sete al
mov dword [esp + 0x34], eax
movzx eax, word [esi]
add esi, 2
cmp eax, 0x3a
jne 0x4eca95
test edi, edi
jns 0x4eca20
mov dword [esp + 0x7c], ecx
mov eax, 0x80290000
jmp 0x4eca32
mov dword [ebx], ecx
mov ebx, edx
jmp 0x4ed85b
add esi, 2
mov edi, esi
mov dword [esp + 0xa4], esi
cmp esi, dword [esp + 0x18]
jae 0x4eda95
movzx ecx, word [esi]
mov edx, ecx
lea eax, [ecx - 0x21]
cmp eax, 0x31
ja case.0x4ecacc.34
movzx eax, byte [eax + 0x4edc6c]
jmp dword [eax*4 + 0x4edc34]
mov ecx, dword [esp + 0x18]
add esi, 2
mov dword [esp + 0xa4], esi
cmp esi, ecx
jae 0x4eda95
movzx eax, word [esi]
cmp eax, 0x3c
jne 0x4ecafb
mov eax, 0x3e
jmp 0x4ed273
cmp eax, 0x3e
je 0x4ecbd7
cmp eax, 0x3d
jne 0x4ed963
mov ebp, dword [esp + 0xb0]
lea eax, [esp + 0x24]
push ebp
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
push 0x29
push dword [esp + 0x60]
lea eax, [esp + 0xc0]
push ecx
push eax
call fcn.004eefd0
add esp, 0x24
test eax, eax
je 0x4ed9c1
mov dword [ebx], 0x80040000
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0xa4]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [esp + 0x34], 1
mov dword [esp + 0x14], ebx
jmp 0x4ed866
xor eax, eax
add esi, 2
mov dword [esp + 0x44], eax
cmp esi, dword [esp + 0x18]
jae 0x4ecb90
cmp word [esi], 0x29
je 0x4ed4fa
mov ecx, 0x9e
jmp 0x4eda9a
mov eax, dword [esp + 0x18]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 4
jl 0x4ed96d
mov ax, word [edi + 2]
sub ax, 0x30
cmp ax, 9
ja 0x4ed96d
lea eax, [edx - 0x30]
cmp ax, 9
ja 0x4ed499
or eax, 0xffffffff
jmp 0x4ed4a3
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0xb0]
lea eax, [esp + 0x24]
push ebp
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
push 0x29
push dword [esp + 0x60]
lea eax, [esp + 0xc0]
push ecx
push eax
call fcn.004eefd0
add esp, 0x24
test eax, eax
je 0x4ed9c1
mov dword [ebx], 0x80210000
jmp 0x4ecb4e
mov eax, dword [esp + 0x18]
add esi, 2
cmp esi, eax
jae 0x4eda95
mov ecx, dword [esp + 0x30]
dec ecx
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x4ecc59
test byte [esp + 0x2c], 4
je 0x4ecc59
lea eax, [ebx - 0x10]
cmp ecx, eax
mov eax, dword [esp + 0x18]
jne 0x4ecc59
cmp dword [ebx - 4], 0xff
cmove ebx, ecx
movzx ecx, word [esi]
mov edi, ebx
mov dword [esp + 0x10], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], 1
cmp ecx, 0x29
je 0x4ecd29
cmp ecx, 0x30
jb 0x4ecc85
cmp ecx, 0x39
jbe 0x4ecd29
mov ebp, dword [0x6bdd2c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x44], 0
test ebp, ebp
je 0x4ed985
mov edi, ecx
xor eax, eax
xor edx, edx
cmp edi, ebp
je 0x4eccca
nop dword [eax]
inc eax
mov edx, eax
mov dword [esp + 0x44], eax
mov ecx, dword [edx*4 + 0x6bdd2c]
test ecx, ecx
je 0x4ed985
cmp edi, ecx
jne 0x4eccb0
mov ecx, dword [edx*4 + 0x6bdd08]
test ecx, ecx
je 0x4ed985
mov edx, dword [esp + 0x18]
mov dword [ebx], 0x80070000
add esi, 2
cmp esi, edx
jae 0x4ed977
movzx eax, word [esi]
cmp eax, ecx
jne 0x4ecce3
add esi, 2
cmp esi, edx
jae 0x4ecd03
movzx eax, word [esi]
cmp eax, ecx
je 0x4ecce3
mov ecx, dword [esp + 0x20]
mov eax, esi
mov ebp, dword [esp + 0xb0]
sub eax, ecx
mov edi, dword [esp + 0x10]
sar eax, 1
mov dword [ebx + 0xc], eax
add ebx, 0x10
sub ecx, dword [ebp + 0x1c]
sar ecx, 1
mov dword [esp + 0x4c], ecx
jmp 0x4ecd73
mov dword [ebx], 0x80060000
xor ecx, ecx
add ebx, 0xc
cmp esi, eax
jae 0x4ecd6c
nop dword [eax + eax]
movzx edx, word [esi]
lea eax, [edx - 0x30]
cmp ax, 9
ja 0x4ecd6c
lea ecx, [ecx + ecx*4]
mov eax, edx
lea ecx, [ecx - 0x18]
add esi, 2
lea ecx, [eax + ecx*2]
cmp ecx, 0xff
jg 0x4ed98f
cmp esi, dword [esp + 0x18]
jb 0x4ecd40
mov ebp, dword [esp + 0xb0]
mov dword [ebx], ecx
cmp esi, dword [esp + 0x18]
jae 0x4ed999
cmp word [esi], 0x29
jne 0x4ed999
mov ecx, dword [esp + 0x1c]
add esi, 2
mov eax, esi
sub eax, dword [ebp + 0x1c]
sar eax, 1
add ebx, 4
mov dword [edi + 4], eax
mov dword [edi + 8], 0
mov dword [esp + 0x14], ebx
jmp 0x4ed86e
add esi, 2
mov dword [esp + 0xa4], esi
cmp esi, dword [esp + 0x18]
jae 0x4eda95
movzx eax, word [esi]
inc dword [esp + 0x28]
cmp eax, 0x3f
je 0x4ed131
cmp eax, 0x2a
je 0x4ed131
mov ebp, dword [esp + 0xb0]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x48]
push eax
push 0xa1
push 0xffff
push dword [ebp + 0x74]
lea eax, [esp + 0xb8]
push dword [esp + 0x2c]
push eax
call fcn.004ef200
add esp, 0x1c
test eax, eax
je 0x4ece45
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0xa4]
test ecx, ecx
jle 0x4ed9a3
mov dword [ebx], 0x80120000
mov eax, esi
sub eax, dword [ebp + 0x1c]
sar eax, 1
sub eax, 2
mov dword [ebx + 8], ecx
mov dword [ebx + 4], eax
add ebx, 8
mov dword [esp + 0x4c], eax
jmp 0x4ed10e
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x4ed8fd
mov ecx, dword [esp + 0x18]
mov ebp, ecx
mov edi, dword [esp + 0xa4]
sub ebp, edi
sar ebp, 1
cmp ebp, 0xa
jl 0x4ecf9b
push 7
push str.VERSION
push edi
call fcn.0051e340
add esp, 0xc
test eax, eax
jne 0x4ecf97
cmp word [edi + 0xe], 0x29
lea esi, [edi + 0xe]
je 0x4ecf97
xor ebp, ebp
xor edi, edi
cmp word [esi], 0x3e
mov eax, esi
mov dword [esp + 0x20], ebp
jne 0x4ecea9
add esi, 2
lea ebp, [edi + 1]
mov eax, esi
cmp word [esi], 0x3d
jne 0x4ed9ad
lea esi, [eax + 2]
movzx eax, word [esi]
mov dword [esp + 0xa4], esi
cmp eax, 0x30
jb 0x4ed9ad
cmp eax, 0x39
ja 0x4ed9ad
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x24]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
push dword [esp + 0x2c]
lea eax, [esp + 0xbc]
push eax
call fcn.004ef200
add esp, 0x1c
test eax, eax
je 0x4ed9c1
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0x18]
cmp esi, eax
jae 0x4ed9ad
cmp word [esi], 0x2e
jne 0x4ecf7d
add esi, 2
cmp esi, eax
jae 0x4ed9ad
movzx eax, word [esi]
cmp eax, 0x30
jb 0x4ed9ad
cmp eax, 0x39
ja 0x4ed9ad
mov ecx, dword [esp + 0x18]
sub eax, 0x30
add esi, 2
lea edi, [eax + eax*4]
add edi, edi
cmp esi, ecx
jae 0x4ed9ad
movzx eax, word [esi]
cmp eax, 0x30
jb 0x4ecf73
cmp eax, 0x39
ja 0x4ecf73
add eax, 0xffffffd0
add edi, eax
lea eax, [esi + 2]
mov esi, eax
cmp eax, ecx
jae 0x4ed9ad
cmp word [esi], 0x29
jne 0x4ed9ad
mov eax, dword [esp + 0x20]
mov dword [ebx], 0x80150000
mov dword [ebx + 4], ebp
mov dword [ebx + 8], eax
add ebx, 0xc
mov dword [ebx], edi
jmp 0x4ed107
mov ecx, dword [esp + 0x18]
movzx eax, word [edi]
mov dword [esp + 0x30], 0
cmp eax, 0x52
jne 0x4ecfc8
cmp ebp, 1
jle 0x4ecfe3
cmp word [edi + 2], 0x26
lea eax, [edi + 2]
jne 0x4ecfe3
mov ebp, 1
mov dword [esp + 0xa4], eax
jmp 0x4ecff1
cmp eax, 0x3c
jne 0x4ecfd6
mov ebp, dword [esp + 0x30]
lea esi, [eax + 2]
jmp 0x4ecff6
cmp eax, 0x27
jne 0x4ecfe3
mov ebp, dword [esp + 0x30]
mov esi, eax
jmp 0x4ecff6
mov ebp, dword [esp + 0x30]
sub edi, 2
mov dword [esp + 0xa4], edi
mov esi, 0x29
push dword [esp + 0xb0]
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x5c]
push eax
push esi
push dword [esp + 0x60]
lea eax, [esp + 0xc0]
push ecx
push eax
call fcn.004eefd0
add esp, 0x24
test eax, eax
je 0x4ed9c1
test ebp, ebp
mov ebp, dword [esp + 0x3c]
je 0x4ed04c
mov esi, dword [esp + 0xa4]
mov dword [ebx], 0x80130000
sub esi, 2
jmp 0x4ed0f0
cmp esi, 0x29
jne 0x4ed0e3
mov edi, dword [esp + 0x54]
cmp ebp, 6
jne 0x4ed085
push 6
push str.DEFINE
push edi
call fcn.0051e340
add esp, 0xc
test eax, eax
jne 0x4ed085
mov eax, 0x80100000
mov dword [ebx], eax
mov esi, dword [esp + 0xa4]
sub esi, 2
jmp 0x4ed0f0
mov eax, 1
mov dword [esp + 0x44], 1
cmp ebp, eax
jle 0x4ed0c1
mov esi, eax
mov edx, eax
mov ecx, eax
nop dword [eax]
movzx ecx, word [edi + ecx*2]
cmp ecx, 0x30
jb 0x4ed0c1
mov eax, edx
cmp ecx, 0x39
ja 0x4ed0c1
lea eax, [esi + 1]
mov ecx, eax
mov dword [esp + 0x44], eax
mov esi, eax
mov edx, eax
cmp ecx, ebp
jl 0x4ed0a0
cmp word [edi], 0x52
jne 0x4ed0d0
cmp eax, ebp
mov eax, 0x80140000
jge 0x4ed0d5
mov eax, 0x80110000
mov dword [ebx], eax
mov esi, dword [esp + 0xa4]
sub esi, 2
jmp 0x4ed0f0
mov esi, dword [esp + 0xa4]
mov dword [ebx], 0x80110000
mov eax, dword [ebx]
add ebx, 4
cmp eax, 0x80100000
je 0x4ed101
mov dword [ebx], ebp
add ebx, 4
mov eax, dword [esp + 0x4c]
mov dword [ebx], eax
mov ebp, dword [esp + 0xb0]
cmp esi, dword [esp + 0x18]
jae 0x4ed9b7
cmp word [esi], 0x29
jne 0x4ed9b7
add esi, 2
add ebx, 4
mov dword [esp + 0x14], ebx
jmp 0x4ed866
mov dword [ebx], 0x800f0000
mov esi, edi
mov dword [esp + 0x6c], 2
jmp 0x4ed858
inc dword [esp + 0x28]
mov dword [ebx], 0x80020000
add ebx, 4
add esi, 2
jmp 0x4ed85b
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0xb0]
add esi, 2
mov dword [ebx], 0x80230000
jmp 0x4ed214
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0xb0]
add esi, 2
mov dword [ebx], 0x80270000
jmp 0x4ed214
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0xb0]
add esi, 2
mov dword [ebx], 0x80240000
jmp 0x4ed214
mov eax, dword [esp + 0x18]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x4ecaf1
movzx eax, word [edi + 2]
cmp eax, 0x3d
je 0x4ed1de
cmp eax, 0x21
je 0x4ed1cc
cmp eax, 0x2a
jne 0x4ecaf1
cmp eax, 0x21
mov edx, 0x80280000
mov eax, 0x80260000
cmove edx, eax
jmp 0x4ed1e3
mov edx, 0x80250000
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0xac]
mov ebp, dword [esp + 0xb0]
mov dword [ebx], edx
mov dword [eax], 1
mov eax, esi
sub eax, dword [ebp + 0x1c]
add esi, 4
sar eax, 1
sub eax, 2
mov dword [ebx + 4], eax
add ebx, 4
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x28]
add ebx, 4
inc eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], eax
test edi, edi
jle 0x4ed866
mov edi, dword [esp + 0x50]
test edi, edi
jne 0x4ed23d
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x50], edi
jmp 0x4ed251
add edi, 0xc
mov dword [esp + 0x50], edi
cmp edi, dword [esp + 0x80]
jae 0x4eda41
mov word [edi], ax
mov eax, 2
mov word [edi + 6], ax
mov eax, dword [esp + 0x2c]
and eax, 0x10424e8
mov dword [edi + 8], eax
jmp 0x4ed866
mov eax, 0x27
mov edi, dword [esp + 0xb0]
lea ecx, [esp + 0x24]
push edi
push ecx
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x5c]
push ecx
push eax
push dword [esp + 0x60]
lea eax, [esp + 0xc0]
push dword [esp + 0x34]
push eax
call fcn.004eefd0
add esp, 0x24
test eax, eax
je 0x4ed9c1
mov eax, dword [edi + 0x74]
cmp eax, 0xffff
jae 0x4eda15
inc dword [esp + 0x28]
inc eax
mov dword [edi + 0x74], eax
or eax, 0x80080000
mov dword [ebx], eax
add ebx, 4
movzx edx, word [edi + 0x58]
mov eax, 0x2710
mov dword [esp + 0x14], ebx
cmp dx, ax
jae 0x4eda04
mov ecx, dword [esp + 0x3c]
movzx eax, word [edi + 0x5a]
add ecx, 2
cmp ecx, eax
mov ecx, dword [esp + 0x3c]
jbe 0x4ed300
lea eax, [ecx + 2]
mov word [edi + 0x5a], ax
mov esi, dword [edi + 0x64]
xor ebp, ebp
xor eax, eax
mov dword [esp + 0x20], 0
xor edi, edi
mov dword [esp + 0x44], ebp
cmp ax, dx
jae 0x4ed393
nop word [eax + eax]
movzx eax, word [esi + 8]
cmp ecx, eax
jne 0x4ed36a
push ecx
push dword [esi]
push dword [esp + 0x5c]
call fcn.0051e300
add esp, 0xc
test eax, eax
jne 0x4ed36a
mov ecx, dword [esp + 0xb0]
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 0x74]
je 0x4ed393
test byte [esp + 0x2c], 0x40
je 0x4ed9d1
mov eax, 1
mov word [esi + 0xa], ax
mov dword [esp + 0x20], eax
mov dword [ecx + 0xbc], eax
jmp 0x4ed37d
mov ecx, dword [esp + 0xb0]
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 0x74]
je 0x4ed9e2
movzx eax, word [ecx + 0x58]
inc ebp
mov ecx, dword [esp + 0x3c]
add esi, 0xc
mov dword [esp + 0x44], ebp
mov edi, ebp
cmp ebp, eax
jl 0x4ed320
mov ebp, dword [esp + 0xb0]
movzx eax, word [ebp + 0x58]
cmp edi, eax
jl case.default.0x4ebcfe
mov ecx, dword [ebp + 0x68]
cmp eax, ecx
jb 0x4ed401
lea edi, [ecx + ecx]
mov ecx, dword [ebp]
lea eax, [edi + edi*2]
shl eax, 2
push dword [ecx + 8]
push eax
mov eax, dword [ecx]
call eax
mov esi, eax
add esp, 8
test esi, esi
je 0x4ed9f3
mov ecx, dword [ebp + 0x68]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [ebp + 0x64]
push esi
call fcn.00526450
add esp, 0xc
cmp dword [ebp + 0x68], 0x14
jbe 0x4ed3fb
mov eax, dword [ebp]
push dword [eax + 8]
mov eax, dword [eax + 4]
push dword [ebp + 0x64]
call eax
add esp, 8
mov dword [ebp + 0x64], esi
mov dword [ebp + 0x68], edi
movzx eax, word [ebp + 0x58]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x3c]
lea ecx, [eax + eax*2]
mov eax, dword [ebp + 0x64]
mov dword [eax + ecx*4], edx
movzx eax, word [ebp + 0x58]
lea ecx, [eax + eax*2]
mov eax, dword [ebp + 0x64]
mov word [eax + ecx*4 + 8], si
movzx eax, word [ebp + 0x58]
mov ecx, dword [ebp + 0x64]
mov esi, dword [esp + 0xa4]
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0x74]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [ebp + 0x58]
mov edx, dword [esp + 0x20]
lea ecx, [eax + eax*2]
mov eax, dword [ebp + 0x64]
mov word [eax + ecx*4 + 0xa], dx
inc word [ebp + 0x58]
jmp 0x4ed866
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0xa4]
jmp 0x4ed866
cmp ecx, 0x2d
jne 0x4ed52d
mov eax, dword [esp + 0x18]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 2
jle 0x4ed52d
mov ax, word [edi + 2]
sub ax, 0x30
cmp ax, 9
ja 0x4ed52d
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0x74]
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x48]
push ecx
push 0xa1
push 0xffff
push eax
lea eax, [esp + 0xb8]
push edi
push eax
call fcn.004ef200
add esp, 0x1c
test eax, eax
je 0x4ed9c1
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0xa4]
test eax, eax
js 0x4eda23
cmp esi, edi
jae 0x4eda95
cmp word [esi], 0x29
jne 0x4eda95
mov ebp, dword [esp + 0xb0]
or eax, 0x80200000
mov dword [ebx], eax
mov eax, esi
add esi, 2
mov dword [esp + 0x34], 1
sub eax, dword [ebp + 0x1c]
sar eax, 1
mov dword [ebx + 4], eax
add ebx, 8
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], ebx
jmp 0x4ed866
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x50]
inc eax
mov dword [esp + 0x28], eax
test edi, edi
jne 0x4ed54e
mov ebp, dword [esp + 0xb0]
mov edi, dword [ebp + 0x14]
mov dword [esp + 0x50], edi
jmp 0x4ed569
add edi, 0xc
mov dword [esp + 0x50], edi
cmp edi, dword [esp + 0x80]
jae 0x4eda41
mov ebp, dword [esp + 0xb0]
mov edx, dword [esp + 0x2c]
mov word [edi], ax
xor eax, eax
mov word [edi + 6], ax
mov eax, edx
and eax, 0x10424e8
mov dword [edi + 8], eax
cmp word [esi], 0x7c
jne 0x4ed5bb
movzx eax, word [ebp + 0x74]
mov word [edi + 2], ax
movzx eax, word [ebp + 0x74]
mov word [edi + 4], ax
mov eax, 1
mov word [edi + 6], ax
or dword [ebp + 0x70], 0x200000
mov dword [ebx], 0x801a0000
add ebx, 4
mov dword [esp + 0x14], ebx
add esi, 2
jmp 0x4ed866
xor eax, eax
mov dword [esp + 0x20], edx
mov dword [edi + 2], eax
lea edx, [esp + 0x90]
mov eax, dword [esp + 0x18]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], edi
mov ebp, 1
cmp esi, eax
jae 0x4ed6c9
cmp word [esi], 0x5e
jne 0x4ed601
and dword [esp + 0x2c], 0xfeffdb57
xor ebp, ebp
add esi, 2
cmp esi, eax
jae 0x4ed6c9
mov edi, eax
nop dword [eax + eax]
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x29
je 0x4ed6bb
cmp eax, 0x3a
je 0x4ed6bb
lea eax, [ecx - 0x2d]
add esi, 2
cmp eax, 0x4b
ja case.0x4ed63d.46
movzx eax, byte [eax + 0x4edcc4]
jmp dword [eax*4 + 0x4edca0]
test ebp, ebp
je 0x4eda2d
lea edx, [esp + 0x94]
xor ebp, ebp
jmp 0x4ed6b1
mov eax, dword [esp + 0xb0]
or dword [edx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x4ed6b1
or dword [edx], 8
jmp 0x4ed6b1
or dword [edx], 0x400
jmp 0x4ed6b1
or dword [edx], 0x2000
jmp 0x4ed6b1
or dword [edx], 0x20
jmp 0x4ed6b1
or dword [edx], 0x40000
jmp 0x4ed6b1
mov ecx, dword [edx]
mov eax, esi
or ecx, 0x80
mov dword [edx], ecx
cmp esi, edi
jae 0x4ed6b3
cmp word [esi], 0x78
jne 0x4ed610
or ecx, 0x1000000
add esi, 2
mov dword [edx], ecx
mov eax, esi
cmp eax, edi
jb 0x4ed610
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, edi
and eax, 0x1000080
cmp eax, 0x80
je 0x4ed6db
test cl, cl
jns 0x4ed6e1
or ecx, 0x1000000
or edi, dword [esp + 0x2c]
not ecx
and edi, ecx
mov edx, edi
mov dword [esp + 0x2c], edx
cmp esi, dword [esp + 0x18]
jae 0x4eda95
movzx eax, word [esi]
add esi, 2
mov ebp, dword [esp + 0xb0]
cmp eax, 0x29
jne 0x4ed734
add dword [esp + 0x28], 0xffff
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x28]
cmp edi, dword [ebp + 0x14]
jbe 0x4ed72f
cmp word [edi - 0xc], cx
lea eax, [edi - 0xc]
jne 0x4ed72f
mov dword [esp + 0x50], eax
jmp 0x4ed741
mov word [edi], cx
jmp 0x4ed741
mov dword [ebx], 0x801a0000
add ebx, 4
mov dword [esp + 0x14], ebx
cmp edx, dword [esp + 0x20]
je 0x4ed866
mov dword [ebx], 0x801b0000
mov dword [ebx + 4], edx
add ebx, 8
mov dword [esp + 0x14], ebx
jmp 0x4ed866
mov edi, dword [esp + 0x50]
mov ebp, dword [esp + 0xb0]
test edi, edi
je 0x4ed794
mov ecx, dword [esp + 0x28]
cmp word [edi], cx
jne 0x4ed794
test byte [edi + 6], 1
je 0x4ed794
movzx eax, word [edi + 4]
mov ecx, dword [ebp + 0x74]
cmp ecx, eax
jbe 0x4ed78d
mov word [edi + 4], cx
movzx eax, word [edi + 2]
mov dword [ebp + 0x74], eax
mov dword [ebx], 0x80010000
add ebx, 4
mov dword [esp + 0x14], ebx
jmp 0x4ed866
mov edi, dword [esp + 0x50]
mov dword [esp + 0x34], 1
test edi, edi
je 0x4ed821
mov ecx, dword [esp + 0x28]
cmp word [edi], cx
jne 0x4ed821
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0xb0]
and edx, 0xfefbdb17
or edx, dword [edi + 8]
test byte [edi + 6], 1
mov dword [esp + 0x2c], edx
je 0x4ed7e9
movzx eax, word [edi + 4]
cmp eax, dword [ebp + 0x74]
jbe 0x4ed7e9
mov dword [ebp + 0x74], eax
movzx eax, word [edi + 6]
mov ecx, eax
not ecx
shr ecx, 1
and ecx, 1
mov dword [esp + 0x34], ecx
test al, 4
je 0x4ed807
mov dword [ebx], 0x80190000
add ebx, 4
cmp edi, dword [ebp + 0x14]
jne 0x4ed814
xor eax, eax
mov dword [esp + 0x50], eax
jmp 0x4ed828
sub edi, 0xc
mov dword [esp + 0x34], ecx
mov dword [esp + 0x50], edi
jmp 0x4ed828
mov ebp, dword [esp + 0xb0]
mov edi, dword [esp + 0x28]
test di, di
je 0x4eda48
add edi, 0xffff
mov dword [ebx], 0x80190000
add ebx, 4
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], ebx
jmp 0x4ed866
mov dword [esp + 0x34], 1
mov dword [ebx], edi
add ebx, 4
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0xb0]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
movzx eax, ax
cmp esi, dword [esp + 0x18]
jb 0x4eb460
mov edx, eax
test ecx, ecx
je 0x4eb399
mov ecx, 0xa0
jmp 0x4eda9a
mov ecx, 0x8c
jmp 0x4eda9a
sub esi, 2
mov ecx, 0xb0
jmp 0x4eda9a
mov ecx, 0x76
jmp 0x4eda9a
mov ecx, 0x6d
sub esi, 2
jmp 0x4eda9a
movzx eax, word [esi]
xor ecx, ecx
sub esi, 2
cmp eax, 0x3a
setne cl
add ecx, 0x70
jmp 0x4eda9a
mov ecx, 0x71
sub esi, 2
jmp 0x4eda9a
mov esi, dword [esp + 0xa4]
mov ecx, 0x6b
sub esi, 2
jmp 0x4eda9a
mov ecx, 0xab
mov esi, dword [esp + 0xa4]
jmp 0x4eda9a
mov esi, dword [esp + 0xa4]
mov ecx, 0x96
jmp 0x4eda9a
mov ecx, 0x6c
sub esi, 2
jmp 0x4eda9a
mov ecx, 0x6a
jmp 0x4eda9a
cmp edx, 0x80270000
je 0x4ed945
cmp edx, 0x80280000
jne 0x4eb8fc
mov ecx, 0xc6
jmp 0x4eda9a
mov ecx, 0xc3
jmp 0x4eda9a
mov ecx, 0xa6
jmp 0x4eda9a
mov ecx, 0x8d
jmp 0x4eda9a
mov ecx, 0x81
jmp 0x4eda9a
mov esi, dword [esp + 0x20]
mov ecx, 0xb5
jmp 0x4eda9a
mov ecx, 0xb6
jmp 0x4eda9a
mov ecx, 0x8a
jmp 0x4eda9a
mov ecx, 0x8b
jmp 0x4eda9a
mov ecx, 0x73
jmp 0x4eda9a
mov ecx, 0xb3
jmp 0x4eda9a
mov ecx, 0x7c
jmp 0x4eda9a
mov esi, dword [esp + 0xa4]
mov ecx, dword [esp + 0x24]
jmp 0x4eda9a
mov esi, dword [esp + 0xa4]
mov ecx, 0x8f
jmp 0x4eda9a
mov esi, dword [esp + 0xa4]
mov ecx, 0xa5
jmp 0x4eda9a
mov esi, dword [esp + 0xa4]
mov ecx, 0x79
jmp 0x4eda9a
mov esi, dword [esp + 0xa4]
mov ecx, 0x95
jmp 0x4eda9a
mov esi, dword [esp + 0xa4]
mov ecx, 0xc5
jmp 0x4eda9a
mov ecx, 0x73
sub esi, 2
jmp 0x4eda9a
mov ecx, 0xc2
add esi, 0xfffffffe
jmp 0x4eda9a
mov ecx, 0x6f
add esi, 0xfffffffe
jmp 0x4eda9a
mov ecx, 0xb8
jmp 0x4eda9a
mov ecx, 0x7a
sub esi, 2
jmp 0x4eda9a
mov ecx, 0x77
jmp 0x4eda9a
test al, 4
je 0x4eda6d
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [esp + 0x84]
jb 0x4eda7d
mov ecx, 0xa3
jmp 0x4eda9a
mov dword [ecx], 0x80000000
test dx, dx
jne 0x4eda95
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov ecx, 0x72
mov eax, dword [esp + 0xb0]
pop edi
sub esi, dword [eax + 0x1c]
sar esi, 1
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebp
pop ebx
add esp, 0x90
ret