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

Disassembly:
sub esp, 0xcc
mov eax, dword [esp + 0xd0]
mov eax, dword [eax]
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x20], eax
shr eax, 9
and eax, 1
mov dword [esp + 0xa8], eax
xor eax, 1
push ebx
mov ebx, dword [ecx]
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0xa8], eax
mov eax, 0xfffffffe
push ebp
xor edx, edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
push esi
mov esi, dword [esp + 0xfc]
push edi
mov edi, dword [ecx]
xor ebp, ebp
xor ecx, ecx
and eax, 1
shl eax, 8
mov dword [esp + 0x40], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0xa0], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
mov dword [esp + 0x18], eax
cmp dword [esp + 0x104], edx
je 0x4744be
mov ecx, dword [esi + 0x10]
add ecx, 0xf9c
cmp ebx, ecx
ja 0x476fcb
mov eax, dword [esp + 0x94]
cmp ebx, eax
jae 0x474429
mov dword [esp + 0x14], eax
mov ebx, eax
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
mov ecx, ebx
sub ecx, dword [esp + 0x94]
mov edx, 0x7fffffeb
sub edx, eax
cmp edx, ecx
jl 0x476fee
sub eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x104]
add eax, ebx
xor edx, edx
mov dword [ecx], eax
cmp ebp, edx
je 0x4744a4
cmp ebp, dword [esp + 0xa4]
jbe 0x4744b1
mov edi, dword [esp + 0xa4]
mov edx, ebx
sub edx, ebp
push edx
push ebp
push edi
call fcn.0047f5f0
mov ecx, dword [esp + 0x64]
mov eax, edi
sub eax, ebp
add ebx, eax
mov ebp, edi
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebp
xor edx, edx
mov dword [esp + 0x94], ebx
jmp 0x4744cf
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x14], ecx
mov ebx, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x94], ebx
jmp 0x4744cf
mov eax, dword [esi + 0x10]
add eax, 0xf9c
cmp dword [esi + 0x24], eax
ja 0x477011
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x4c], edx
je 0x4745b1
cmp eax, edx
je 0x4745b1
cmp eax, 0x5c
jne 0x474509
cmp byte [edi + 1], 0x45
jne 0x474509
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
inc edi
mov dword [esp + 0x4c], edx
inc edi
xor edx, edx
jmp 0x4743ef
cmp ecx, edx
je 0x47453f
cmp dword [esp + 0x104], edx
jne 0x47453b
movzx edx, byte [ecx + 6]
movzx eax, byte [ecx + 7]
shl edx, 8
or edx, eax
mov eax, edi
sub eax, edx
sub eax, dword [esi + 0x18]
mov edx, eax
sar edx, 8
mov byte [ecx + 8], dl
mov byte [ecx + 9], al
mov edi, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x58], edx
test dword [esp + 0x30], 0x4000
je case.0x474763.1
mov word [ebx], 0xff70
mov dword [ebx + 2], edx
mov eax, edi
mov ecx, eax
sub ecx, dword [esi + 0x18]
mov dword [esp + 0x58], ebx
sar ecx, 8
mov byte [ebx + 6], cl
sub al, byte [esi + 0x18]
mov word [ebx + 8], 0
mov byte [ebx + 7], al
add ebx, 0xa
mov dword [esp + 0x14], ebx
test byte [esp + 0x30], 1
mov dword [esp + 0x1c], ebx
setne al
add al, 0x1d
mov byte [ebx], al
mov eax, dword [esp + 0x18]
mov byte [ebx + 1], al
add ebx, 2
mov dword [esp + 0x14], ebx
cmp eax, 0xd
je 0x4745a1
cmp eax, 0xa
jne 0x476f1e
mov ecx, dword [esp + 0x100]
or dword [ecx + 0x4c], 0x20
jmp 0x476f25
cmp eax, 0x2a
je 0x4746a1
cmp eax, 0x2b
je 0x4746a1
cmp eax, 0x3f
je 0x4746a1
cmp eax, 0x7b
jne 0x4745e1
lea eax, [edi + 1]
call fcn.00472260
test eax, eax
jne 0x4746a1
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x47463b
mov eax, dword [esp + 0xa0]
mov edx, eax
dec eax
mov dword [esp + 0xa0], eax
test edx, edx
jg 0x47463b
cmp dword [esp + 0x104], 0
jne 0x474633
movzx edx, byte [ecx + 6]
movzx eax, byte [ecx + 7]
shl edx, 8
or edx, eax
mov eax, edi
sub eax, edx
sub eax, dword [esi + 0x18]
mov edx, eax
sar edx, 8
mov byte [ecx + 8], dl
mov byte [ecx + 9], al
mov edi, dword [esp + 0x10]
mov dword [esp + 0x58], 0
mov ecx, dword [esp + 0x30]
test cl, 8
je 0x47470d
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x18]
test byte [ecx + eax], 1
jne 0x474cb4
cmp ecx, 0x23
jne 0x474701
inc edi
mov dword [esp + 0x10], edi
mov al, byte [edi]
test al, al
je 0x4746f9
mov ecx, dword [esi + 0x5c]
mov edx, dword [esi + 0x1c]
test ecx, ecx
je 0x4746ab
cmp edi, edx
jae 0x4746cf
mov esi, dword [esp + 0x100]
push ecx
add esi, 0x60
mov ecx, edi
call fcn.0047e540
add esp, 4
test eax, eax
jne 0x4746dc
mov esi, dword [esp + 0x100]
jmp 0x4746cf
mov dword [esp + 0x20], 1
jmp 0x47463b
mov ecx, dword [esi + 0x60]
sub edx, ecx
cmp edi, edx
ja 0x4746cf
cmp al, byte [esi + 0x64]
jne 0x4746cf
cmp ecx, 1
je 0x4746dc
mov al, byte [edi + 1]
mov ecx, dword [esp + 0x100]
cmp al, byte [ecx + 0x65]
je 0x4746dc
mov esi, ecx
inc edi
mov dword [esp + 0x10], edi
mov al, byte [edi]
test al, al
jne 0x474671
jmp 0x4746f9
mov edx, dword [esp + 0x100]
mov eax, dword [edx + 0x60]
lea edi, [edi + eax - 1]
mov dword [esp + 0x10], edi
cmp byte [edi], 0
mov esi, edx
jne 0x474cb4
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
xor edx, edx
test ecx, 0x4000
je 0x47474f
cmp dword [esp + 0x20], edx
jne 0x47474f
mov word [ebx], 0xff70
mov dword [ebx + 2], edx
mov eax, edi
mov ecx, eax
sub ecx, dword [esi + 0x18]
mov dword [esp + 0x58], ebx
sar ecx, 8
mov byte [ebx + 6], cl
sub al, byte [esi + 0x18]
mov ecx, dword [esp + 0x30]
mov byte [ebx + 7], al
mov word [ebx + 8], dx
mov edi, dword [esp + 0x10]
add ebx, 0xa
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x18]
cmp eax, 0x7c
ja case.0x474763.1
movzx eax, byte [eax + 0x477548]
jmp dword [eax*4 + 0x477514]
mov dword [esp + 0x1c], edx
test cl, 2
je 0x47479e
cmp dword [esp + 0x34], 0xfffffffe
jne 0x474782
mov dword [esp + 0x34], 0xffffffff
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
mov byte [ebx], 0x1a
mov edi, dword [esp + 0x10]
inc ebx
inc edi
mov dword [esp + 0x14], ebx
xor edx, edx
jmp 0x4743ef
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
mov byte [ebx], 0x19
mov edi, dword [esp + 0x10]
inc ebx
inc edi
mov dword [esp + 0x14], ebx
xor edx, edx
jmp 0x4743ef
test cl, 2
setne cl
add cl, 0x1b
mov byte [ebx], cl
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
inc ebx
mov dword [esp + 0x1c], edx
inc edi
mov ebp, edx
mov dword [esp + 0x14], ebx
xor edx, edx
jmp 0x4743ef
mov eax, dword [esp + 0x34]
cmp eax, 0xfffffffe
jne 0x4747f0
or eax, 0xffffffff
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x44]
shr ecx, 2
and cl, 1
or cl, 0xc
mov byte [ebx], cl
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], ebx
mov ebp, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x5c], edx
inc edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x14], ebx
xor edx, edx
jmp 0x4743ef
test dword [esi + 0x48], 0x2000000
je case.0x474763.1
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x40
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov al, byte [edi + 1]
mov dword [esp + 0x1c], ebx
cmp al, 0x3a
je 0x474867
cmp al, 0x2e
je 0x474867
cmp al, 0x3d
jne 0x474881
lea eax, [esp + 0x70]
push eax
push edi
call fcn.00473a50
mov edi, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x4770c5
xor ebp, ebp
mov dword [esp + 0x18], ebp
inc edi
mov dword [esp + 0x10], edi
movzx esi, byte [edi]
cmp esi, 0x5c
jne 0x4748b7
inc edi
cmp byte [edi], 0x45
je 0x474887
push 3
push 0x49a144
push edi
call fcn.00481cea
mov edi, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x47491b
add edi, 3
jmp 0x474887
test ebp, ebp
jne 0x4748c5
cmp esi, 0x5e
jne 0x4748c5
lea ebp, [esi - 0x5d]
jmp 0x474883
cmp esi, 0x5d
jne 0x47491b
mov ecx, dword [esp + 0x100]
test dword [ecx + 0x48], 0x2000000
je 0x47491b
mov eax, dword [esp + 0x34]
mov edx, ebp
neg edx
sbb dl, dl
and dl, 0x77
add dl, 0x96
mov byte [ebx], dl
inc ebx
mov dword [esp + 0x14], ebx
cmp eax, 0xfffffffe
jne 0x4748fd
or eax, 0xffffffff
mov dword [esp + 0x34], eax
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov esi, ecx
mov ecx, dword [esp + 0x58]
inc edi
mov dword [esp + 0x50], eax
xor edx, edx
jmp 0x4743ef
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
cmp esi, eax
je 0x477159
cmp dword [esp + 0x4c], 0
je 0x47498c
cmp esi, 0x5c
jne 0x474b51
cmp byte [edi + 1], 0x45
jne 0x474b51
mov dword [esp + 0x4c], 0
inc edi
jmp 0x474c38
cmp esi, 0x5b
jne 0x474b07
mov al, byte [edi + 1]
cmp al, 0x3a
je 0x4749a8
cmp al, 0x2e
je 0x4749a8
cmp al, 0x3d
jne 0x474b51
lea eax, [esp + 0x70]
push eax
push edi
call fcn.00473a50
add esp, 8
test eax, eax
je 0x474b4d
mov edi, dword [esp + 0x10]
cmp byte [edi + 1], 0x3a
mov ecx, dword [esp + 0x100]
mov ebp, dword [ecx + 8]
mov dword [esp + 0x48], 0
jne 0x4770f4
add edi, 2
mov dword [esp + 0x10], edi
cmp byte [edi], 0x5e
jne 0x4749fd
mov eax, 1
add edi, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], edi
mov ebx, dword [esp + 0x70]
sub ebx, edi
push edi
call fcn.00473ad0
add esp, 4
test eax, eax
js 0x477117
test byte [esp + 0x30], 1
je 0x474a22
cmp eax, 2
jg 0x474a22
xor eax, eax
lea eax, [eax + eax*2]
mov esi, dword [eax*4 + 0x498790]
add esi, ebp
mov ecx, 8
lea edi, [esp + 0xbc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax*4 + 0x498794]
mov esi, dword [eax*4 + 0x498798]
test ecx, ecx
js 0x474a84
xor eax, eax
add ecx, ebp
test esi, esi
js 0x474a72
jmp 0x474a60
mov dl, byte [ecx + eax]
or byte [esp + eax + 0xbc], dl
inc eax
cmp eax, 0x20
jl 0x474a60
jmp 0x474a84
mov dl, byte [ecx + eax]
not dl
and byte [esp + eax + 0xbc], dl
inc eax
cmp eax, 0x20
jl 0x474a72
test esi, esi
jns 0x474a8a
neg esi
cmp esi, 1
jne 0x474a99
and byte [esp + 0xbd], 0xc3
jmp 0x474aa6
cmp esi, 2
jne 0x474aa6
and byte [esp + 0xc7], 0x7f
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x474ae0
mov edi, edi
mov cl, byte [esp + eax + 0xbc]
not cl
or byte [esp + eax + 0x74], cl
inc eax
cmp eax, 0x20
jl 0x474ab0
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x14]
inc edi
mov dword [esp + 0x24], 0xa
jmp 0x474c38
mov dl, byte [esp + eax + 0xbc]
or byte [esp + eax + 0x74], dl
inc eax
cmp eax, 0x20
jl 0x474ae0
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x14]
inc edi
mov dword [esp + 0x24], 0xa
jmp 0x474c38
cmp esi, 0x5c
jne 0x474b51
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x34]
mov edi, dword [esp + 0xec]
push eax
push edx
lea eax, [esp + 0x18]
push edi
push eax
lea ecx, [esi - 0x5b]
call fcn.004722e0
add esp, 0x10
cmp dword [edi], 0
mov esi, eax
jne 0x4774f8
neg eax
cmp eax, 5
jne 0x474bcd
lea esi, [eax + 3]
mov edi, dword [esp + 0x10]
cmp byte [edi + 1], 0x5c
mov ecx, dword [esp + 0x4c]
jne 0x474b79
jmp 0x474b60
cmp byte [edi + 2], 0x45
jne 0x474b75
add edi, 2
xor ecx, ecx
mov dword [esp + 0x10], edi
cmp byte [edi + 1], 0x5c
je 0x474b60
mov dword [esp + 0x4c], ecx
mov ebp, edi
cmp esi, 0xd
je 0x474b85
cmp esi, 0xa
jne 0x474b90
mov eax, dword [esp + 0x100]
or dword [eax + 0x4c], 0x20
test ecx, ecx
jne 0x474f7b
cmp byte [edi + 1], 0x2d
jne 0x474f7b
add edi, 2
mov dword [esp + 0x10], edi
cmp byte [edi], 0x5c
jne 0x474e51
cmp byte [edi + 1], 0x45
jne 0x474e1d
add edi, 2
mov dword [esp + 0x10], edi
cmp byte [edi], 0x5c
je 0x474bb2
jmp 0x474e51
cmp eax, 0x1a
jne 0x474bf1
mov edi, dword [esp + 0x10]
cmp byte [edi + 1], 0x5c
jne 0x474be7
cmp byte [edi + 2], 0x45
jne 0x474be7
add edi, 2
jmp 0x474c38
mov dword [esp + 0x4c], 1
jmp 0x474c38
cmp eax, 0x19
je 0x474c34
test esi, esi
jns 0x474b4d
mov ecx, dword [esp + 0x100]
mov esi, dword [ecx + 8]
mov ecx, 2
add dword [esp + 0x24], ecx
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x474c1d.12
jmp dword [eax*4 + 0x4775c8]
xor eax, eax
mov dl, byte [esi + eax + 0x40]
or byte [esp + eax + 0x74], dl
inc eax
cmp eax, 0x20
jl 0x474c26
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
movzx esi, byte [edi]
test esi, esi
je 0x477159
cmp esi, 0x5d
jne 0x474964
cmp dword [esp + 0x4c], 0
jne 0x47496b
cmp dword [esp + 0x24], 1
jne 0x474fe0
cmp dword [esp + 0x18], 0
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x5c], ecx
je 0x474fd3
mov eax, dword [esp + 0x34]
cmp eax, 0xfffffffe
jne 0x474c8a
or eax, 0xffffffff
mov dword [esp + 0x34], eax
test byte [esp + 0x30], 1
mov dword [esp + 0x50], eax
mov al, byte [esp + 0x2c]
setne dl
add dl, 0x1f
mov byte [ebx], dl
mov byte [ebx + 1], al
add ebx, 2
mov dword [esp + 0x14], ebx
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
inc edi
xor edx, edx
jmp 0x4743ef
mov dword [esp + 0x28], 1
xor eax, eax
mov cl, byte [esi + eax + 0x40]
not cl
or byte [esp + eax + 0x74], cl
inc eax
cmp eax, 0x20
jl 0x474cd2
jmp 0x474c34
xor eax, eax
lea esp, [esp]
mov dl, byte [esi + eax + 0xa0]
or byte [esp + eax + 0x74], dl
inc eax
cmp eax, 0x20
jl 0x474cf0
jmp 0x474c34
mov dword [esp + 0x28], 1
xor eax, eax
mov cl, byte [esi + eax + 0xa0]
not cl
or byte [esp + eax + 0x74], cl
inc eax
cmp eax, 0x20
jl 0x474d10
jmp 0x474c34
mov al, byte [esi + 1]
mov dl, byte [esi]
or byte [esp + 0x74], dl
and al, 0xf7
or byte [esp + 0x75], al
mov eax, ecx
lea esp, [esp]
mov cl, byte [esi + eax]
or byte [esp + eax + 0x74], cl
inc eax
cmp eax, 0x20
jl 0x474d40
jmp 0x474c34
lea edx, [esp + 0x74]
xor edi, edi
mov dword [esp + 0x28], 1
sub esi, edx
lea eax, [esp + edi + 0x74]
mov cl, byte [esi + eax]
not cl
or byte [eax], cl
inc edi
cmp edi, 0x20
jl 0x474d62
or byte [esp + 0x75], 8
jmp 0x474c34
or byte [esp + 0x75], cl
or byte [esp + 0x78], 1
or byte [esp + 0x88], 1
jmp 0x474c34
xor eax, eax
mov ecx, eax
dec ecx
mov edx, 0xff
je 0x474db0
sub ecx, 3
je 0x474da9
sub ecx, 0x10
jne 0x474db5
mov edx, 0xfe
jmp 0x474db5
mov edx, 0xfd
or byte [esp + eax + 0x74], dl
inc eax
cmp eax, 0x20
jl 0x474d95
jmp 0x474c34
or byte [esp + 0x75], 0x3c
or byte [esp + 0x84], 0x20
jmp 0x474c34
xor eax, eax
mov ecx, eax
dec ecx
mov edx, 0xff
je 0x474dee
sub ecx, 0xf
jne 0x474df3
mov edx, 0xdf
jmp 0x474df3
mov edx, 0xc3
or byte [esp + eax + 0x74], dl
inc eax
cmp eax, 0x20
jl 0x474dd8
jmp 0x474c34
test byte [esp + 0x30], 0x40
jne 0x477129
mov edi, dword [esp + 0x10]
sub dword [esp + 0x24], ecx
movzx esi, byte [edi]
jmp 0x474b51
cmp byte [edi], 0x5c
jne 0x474e51
cmp byte [edi + 1], 0x51
jne 0x474e51
add edi, 2
mov dword [esp + 0x10], edi
cmp byte [edi], 0x5c
jne 0x474e48
cmp byte [edi + 1], 0x45
jne 0x474e48
add edi, 2
mov dword [esp + 0x10], edi
cmp byte [edi], 0x5c
je 0x474e22
jmp 0x474e51
mov ecx, 1
mov dword [esp + 0x4c], ecx
mov al, byte [edi]
test al, al
je 0x474f75
test ecx, ecx
jne 0x474e67
cmp al, 0x5d
je 0x474f75
movzx eax, al
mov dword [esp + 0x20], eax
test ecx, ecx
jne 0x474ec8
cmp eax, 0x5c
jne 0x474ec8
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x34]
mov edi, dword [esp + 0xec]
push edx
push ecx
lea edx, [esp + 0x18]
push edi
push edx
mov ecx, 1
call fcn.004722e0
add esp, 0x10
cmp dword [edi], 0
mov dword [esp + 0x20], eax
jne 0x4774f8
test eax, eax
jns 0x474ec4
cmp eax, 0xfffffffb
jne 0x474f75
mov eax, 8
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x10]
cmp eax, esi
jl 0x477136
je 0x474f7b
cmp eax, 0xd
je 0x474ee0
cmp eax, 0xa
jne 0x474eeb
mov ecx, dword [esp + 0x100]
or dword [ecx + 0x4c], 0x20
mov edx, dword [esp + 0x24]
mov ecx, eax
sub ecx, esi
cmp dword [esp + 0x104], 0
lea ecx, [edx + ecx + 1]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
jne 0x474c38
cmp esi, eax
jg 0x474c38
mov eax, dword [esp + 0x30]
and eax, 1
mov dword [esp + 0x60], eax
mov eax, esi
cdq
and edx, 7
add eax, edx
mov ecx, esi
and ecx, 7
mov dl, 1
shl dl, cl
sar eax, 3
lea ebp, [esp + eax + 0x74]
or byte [ebp], dl
cmp dword [esp + 0x60], 0
je 0x474f69
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 4]
movzx ecx, byte [ecx + esi]
mov eax, ecx
cdq
and edx, 7
add eax, edx
and ecx, 7
mov dl, 1
sar eax, 3
shl dl, cl
lea ebp, [esp + eax + 0x74]
or byte [ebp], dl
inc esi
cmp esi, dword [esp + 0x20]
jle 0x474f20
jmp 0x474c38
mov edi, ebp
mov dword [esp + 0x10], edi
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
lea ebp, [esp + eax + 0x74]
mov ecx, esi
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
test byte [esp + 0x30], 1
je 0x474fc6
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 4]
movzx esi, byte [edx + esi]
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
lea ebp, [esp + eax + 0x74]
mov ecx, esi
and ecx, 7
mov al, 1
shl al, cl
or byte [ebp], al
inc dword [esp + 0x24]
mov dword [esp + 0x2c], esi
jmp 0x474c38
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
jmp case.0x474763.1
mov eax, dword [esp + 0x34]
cmp eax, 0xfffffffe
jne 0x474ff0
or eax, 0xffffffff
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x5c], edx
setne cl
add cl, 0x6a
mov byte [ebx], cl
inc ebx
test eax, eax
je 0x47503b
cmp dword [esp + 0x104], 0
jne 0x475048
lea esi, [esp + 0x74]
mov eax, ebx
sub esi, ebx
mov edi, 0x20
mov dl, byte [esi + eax]
not dl
mov byte [eax], dl
inc eax
dec edi
jne 0x475028
add ebx, 0x20
jmp 0x474ca5
mov ecx, 8
lea esi, [esp + 0x74]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
add ebx, 0x20
jmp 0x474ca5
cmp dword [esp + 0x20], edx
je case.0x474763.1
mov esi, dword [esp + 0xec]
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x44]
lea eax, [edi + 1]
push ecx
mov edi, esi
call fcn.004726b0
add esp, 8
cmp dword [esi], 0
mov edi, eax
mov dword [esp + 0x10], edi
jne 0x4774fc
jmp 0x4750b1
mov dword [esp + 0x38], 0xffffffff
jmp 0x4750ad
mov dword [esp + 0x40], 1
mov dword [esp + 0x38], 0xffffffff
jmp 0x4750b1
mov dword [esp + 0x38], 1
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 0x38]
test ebp, ebp
je 0x47717c
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4750d5
mov edx, dword [esp + 0x50]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x44], edx
sub eax, ecx
neg eax
sbb eax, eax
and eax, 0x200
mov esi, ebp
mov dword [esp + 0xac], eax
mov dword [esp + 0x3c], esi
mov al, byte [edi + 1]
mov dword [esp + 0x28], 0
cmp al, 0x2b
jne 0x47510d
xor eax, eax
inc edi
mov dword [esp + 0x28], 1
mov dword [esp + 0x10], edi
jmp 0x475126
cmp al, 0x3f
jne 0x47511f
mov eax, dword [esp + 0xb4]
inc edi
mov dword [esp + 0x10], edi
jmp 0x475126
mov eax, dword [esp + 0xb8]
cmp byte [ebp], 0x6f
mov dword [esp + 0x24], eax
jne 0x4751c3
push 3
lea eax, [ebp + 3]
push ebp
push eax
call fcn.0047f5f0
add ebx, 6
add esp, 0xc
cmp dword [esp + 0x104], 0
mov word [ebp], 0x7b
mov byte [ebp + 2], 6
mov word [ebp + 6], 0x72
mov byte [ebp + 8], 6
mov dword [esp + 0x14], ebx
mov dword [esp + 0x68], 9
jne 0x4751b3
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x10]
mov esi, dword [ecx + 0x24]
add edx, 2
cmp esi, edx
jb 0x4751b3
movzx edx, byte [esi - 2]
movzx eax, byte [esi - 1]
shl edx, 8
or eax, edx
mov edx, ebp
sub edx, dword [ecx + 0x14]
inc edx
cmp eax, edx
jne 0x4751b3
mov edx, dword [esp + 0x100]
lea ecx, [eax + 3]
sar ecx, 8
mov byte [esi - 2], cl
mov ecx, dword [edx + 0x24]
add al, 3
mov byte [ecx - 1], al
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
mov dl, byte [ebp]
cmp dl, 0x1d
je 0x475759
cmp dl, 0x1e
je 0x475759
cmp dl, 0x1f
je 0x47573c
cmp dl, 0x20
je 0x47573c
cmp dl, 0x17
jae 0x475204
movzx edx, dl
mov ecx, 0x34
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
jmp 0x475791
cmp dl, 0x6a
je 0x4756b3
cmp dl, 0x6b
je 0x4756b3
cmp dl, 0x6d
je 0x4756b3
cmp dl, 0x6e
je 0x4756b3
cmp dl, 0x77
jb 0x475687
cmp dl, 0x80
ja 0x475687
mov eax, ebx
sub eax, ebp
mov dword [esp + 0x18], eax
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], eax
cmp dl, 0x80
jne 0x47525b
cmp byte [ebp + 3], 0x8a
je 0x475ad4
cmp dl, 0x7b
mov edx, dword [esp + 0x40]
jae 0x47527e
cmp edx, eax
jg 0x475ad4
cmp ecx, eax
jl 0x475275
cmp ecx, 1
jle 0x47527e
mov ecx, 1
mov dword [esp + 0x38], ecx
cmp edx, eax
jne 0x475344
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0x1c]
cmp ecx, 1
mov ecx, dword [esp + 0x54]
push ecx
mov byte [ebx], al
push ebp
jg 0x4752f1
push 1
push esi
call fcn.00473b20
mov edx, dword [esp + 0x28]
push edx
lea edi, [esi + 1]
push esi
push edi
call fcn.0047f5f0
inc ebx
add esp, 0x1c
cmp dword [esp + 0x38], 0
mov dword [esp + 0x14], ebx
jne 0x4752cc
mov byte [esi], 0x9a
jmp 0x475ad0
mov al, byte [esp + 0x24]
sub al, 0x75
dec dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov byte [esi], al
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x10]
jmp 0x4753b4
push 4
push esi
call fcn.00473b20
mov edx, dword [esp + 0x28]
push edx
lea eax, [esi + 4]
push esi
push eax
call fcn.0047f5f0
mov cl, byte [esp + 0x40]
sub cl, 0x75
mov byte [esi], cl
mov byte [esi + 1], 0x7c
add esi, 2
mov word [esi], 0
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x3c], esi
add esi, 2
add ebx, 4
add esp, 0x1c
dec dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x14], ebx
jmp 0x4753b4
cmp edx, 1
jle 0x47539d
mov edx, dword [esp + 0x104]
cmp edx, eax
je 0x475417
mov eax, dword [esp + 0x40]
dec eax
mov dword [esp + 0x60], eax
imul eax, dword [esp + 0x68]
fild dword [esp + 0x60]
fimul dword [esp + 0x68]
mov ecx, eax
fcomp qword [0x49a2c8]
fnstsw ax
test ah, 0x41
je 0x47719f
mov eax, dword [edx]
mov edx, 0x7fffffeb
sub edx, eax
cmp edx, ecx
jl 0x47719f
add ecx, eax
mov eax, dword [esp + 0x104]
mov dword [eax], ecx
mov ebp, dword [esp + 0x100]
mov ecx, dword [esp + 0x38]
test ecx, ecx
jle 0x4753b6
sub ecx, dword [esp + 0x40]
mov dword [esp + 0x38], ecx
test ecx, ecx
js 0x4755f4
mov edx, dword [esp + 0x104]
test edx, edx
je 0x4754bb
test ecx, ecx
jle 0x4754bb
mov eax, dword [esp + 0x68]
add eax, 7
mov dword [esp + 0x60], eax
imul ecx, eax
fild dword [esp + 0x60]
fimul dword [esp + 0x38]
add ecx, 0xfffffffa
fcomp qword [0x49a2c8]
fnstsw ax
test ah, 0x41
je 0x476fee
mov eax, dword [edx]
mov ebp, 0x7fffffeb
sub ebp, eax
cmp ebp, ecx
jl 0x476fee
add ecx, eax
mov dword [edx], ecx
jmp 0x4755a6
cmp dword [esp + 0xa8], eax
je 0x47542e
cmp dword [esp + 0x44], eax
jge 0x47542e
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x44], ecx
cmp dword [esp + 0x40], 1
mov ebp, dword [esp + 0x100]
jle 0x4753a4
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x54]
dec edx
mov dword [esp + 0x48], edx
lea ecx, [ecx]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x24]
push eax
push ecx
push ebx
call fcn.00487060
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp esi, edi
jae 0x47549c
mov edi, edi
movzx edx, byte [esi]
movzx ecx, byte [esi + 1]
shl edx, 8
or edx, ecx
mov ecx, dword [ebp + 0x24]
add edx, eax
sar edx, 8
mov byte [ecx], dl
mov dl, byte [esi + 1]
mov ecx, dword [ebp + 0x24]
add dl, al
mov byte [ecx + 1], dl
add dword [ebp + 0x24], 2
add esi, 2
cmp esi, edi
jb 0x475470
mov esi, edi
add ebx, eax
dec dword [esp + 0x48]
mov dword [esp + 0x54], esi
jne 0x475450
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x14], ebx
jmp 0x4753a4
lea eax, [ecx - 1]
mov dword [esp + 0x2c], eax
test eax, eax
js 0x4755a6
mov al, byte [esp + 0x24]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x100]
sub al, 0x75
mov byte [esp + 0x67], al
jmp 0x4754e5
mov al, byte [esp + 0x67]
mov ebp, dword [edi + 0x24]
mov byte [ebx], al
inc ebx
cmp dword [esp + 0x2c], 0
je 0x475517
mov ecx, dword [esp + 0x20]
mov byte [ebx], 0x7c
inc ebx
test ecx, ecx
jne 0x475502
xor eax, eax
jmp 0x475506
mov eax, ebx
sub eax, ecx
mov edx, eax
sar edx, 8
mov dword [esp + 0x20], ebx
mov byte [ebx], dl
mov byte [ebx + 1], al
add ebx, 2
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
push ebx
call fcn.00487060
add esp, 0xc
mov eax, esi
cmp esi, ebp
jae 0x475586
mov ecx, dword [esp + 0x2c]
mov esi, ecx
neg esi
sbb esi, esi
and esi, 3
inc esi
neg ecx
sbb cl, cl
and cl, 3
inc cl
mov byte [esp + 0x6f], cl
jmp 0x475550
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
or edx, ecx
mov ecx, dword [edi + 0x24]
add edx, esi
add edx, dword [esp + 0x18]
add eax, 2
sar edx, 8
mov byte [ecx], dl
mov dl, byte [esp + 0x6f]
add dl, byte [esp + 0x18]
mov ecx, dword [edi + 0x24]
add dl, byte [eax - 1]
mov byte [ecx + 1], dl
add dword [edi + 0x24], 2
cmp eax, ebp
jb 0x475550
add ebx, dword [esp + 0x18]
dec dword [esp + 0x2c]
mov esi, ebp
mov dword [esp + 0x54], esi
jns 0x4754e1
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x20]
test edx, edx
je 0x47595b
mov eax, ebx
sub eax, edx
inc eax
mov esi, ebx
sub esi, eax
movzx ecx, byte [esi + 1]
movzx edi, byte [esi + 2]
shl ecx, 8
or ecx, edi
jne 0x4755ce
xor edx, edx
jmp 0x4755d0
sub edx, ecx
mov byte [ebx], 0x72
mov ecx, eax
sar ecx, 8
mov byte [ebx + 1], cl
mov byte [ebx + 2], al
add ebx, 3
mov byte [esi + 1], cl
mov byte [esi + 2], al
test edx, edx
jne 0x4755b2
mov dword [esp + 0x14], ebx
jmp 0x475953
movzx edx, byte [ebx - 2]
movzx eax, byte [ebx - 1]
add ebx, 0xfffffffd
shl edx, 8
or edx, eax
mov esi, ebx
sub esi, edx
cmp byte [esi], 0x7b
jne 0x475617
cmp dword [esp + 0x28], 0
je 0x475630
mov byte [esi], 0x7c
cmp dword [esp + 0x28], 0
je 0x47563d
inc byte [esi]
mov eax, dword [esp + 0x2c]
mov byte [ebx], 0x75
test eax, eax
je 0x475645
mov byte [eax], 0x8d
jmp 0x475645
mov al, byte [esp + 0x24]
add al, 0x73
mov byte [ebx], al
jmp 0x475ad0
mov al, byte [esp + 0x24]
add al, 0x73
mov byte [ebx], al
cmp dword [esp + 0x104], 0
jne 0x475ad0
mov edi, esi
push ebp
push 0
push ebx
push edi
call fcn.00472f70
add esp, 0x10
test eax, eax
jne 0x47567f
movzx ecx, byte [edi + 1]
movzx edx, byte [edi + 2]
shl ecx, 8
or ecx, edx
add edi, ecx
cmp byte [edi], 0x71
je 0x475655
jmp 0x475ad0
add byte [esi], 5
jmp 0x475ad0
cmp dl, 0x96
je 0x475ad4
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0xb
xor eax, eax
pop ebx
add esp, 0xcc
ret
test ecx, ecx
jne 0x4756c0
mov dword [esp + 0x14], ebp
jmp 0x475ad4
cmp dword [esp + 0x40], 0
jne 0x4756da
cmp ecx, 0xffffffff
jne 0x4756f4
add al, 0x62
mov byte [ebx], al
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475953
cmp dword [esp + 0x40], 1
jne 0x475707
cmp ecx, 0xffffffff
jne 0x475707
add al, 0x64
mov byte [ebx], al
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475953
cmp ecx, 1
jne 0x475707
add al, 0x66
mov byte [ebx], al
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x475953
add al, 0x68
mov byte [ebx], al
mov eax, dword [esp + 0x40]
mov edx, eax
sar edx, 8
mov byte [ebx + 1], dl
mov byte [ebx + 2], al
cmp ecx, 0xffffffff
jne 0x475725
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov eax, ecx
sar eax, 8
mov byte [ebx + 3], al
mov byte [ebx + 4], cl
add ebx, 5
mov dword [esp + 0x14], ebx
jmp 0x475953
xor ecx, ecx
cmp dl, 0x1f
movzx edx, byte [ebp + 1]
setne cl
mov dword [esp + 0x18], edx
dec ecx
and ecx, 0xfffffff3
add ecx, 0x27
mov dword [esp + 0x1c], ecx
jmp 0x475791
xor ecx, ecx
cmp dl, 0x1d
movzx edx, byte [ebx - 1]
sete cl
mov dword [esp + 0x18], edx
dec ecx
and ecx, 0xd
cmp dword [esp + 0x40], 1
mov dword [esp + 0x1c], ecx
jle 0x475791
mov edx, dword [esp + 0x100]
mov esi, dword [edx + 0x50]
or esi, dword [esp + 0x18]
or esi, dword [esp + 0x9c]
mov dword [esp + 0x44], esi
cmp dword [esp + 0x28], 0
jne 0x4757d6
cmp dword [esp + 0x38], 0
jge 0x4757d6
mov eax, dword [esp + 0x30]
push eax
inc edi
push edi
mov edi, dword [esp + 0x108]
push ebp
call fcn.00473c80
add esp, 0xc
test eax, eax
je 0x4757ca
mov dword [esp + 0x28], 1
mov dword [esp + 0x24], 0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
mov dl, byte [ebp]
cmp dl, 0x10
je 0x4757f5
cmp dl, 0xf
je 0x4757f5
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
jmp 0x475805
movzx edx, byte [ebp + 1]
mov dword [esp + 0x20], edx
movzx edx, byte [ebp + 2]
mov dword [esp + 0x2c], edx
mov esi, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], ebp
test ebx, ebx
je 0x475ad4
add eax, ecx
cmp dword [esp + 0x40], 0
jne 0x475866
cmp ebx, 0xffffffff
jne 0x475834
add al, 0x21
mov byte [ebp], al
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x475942
cmp ebx, 1
jne 0x475848
add al, 0x25
mov byte [ebp], al
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x475942
add al, 0x27
mov byte [ebp], al
lea eax, [ebp + 1]
mov ecx, ebx
sar ecx, 8
mov byte [eax], cl
mov byte [eax + 1], bl
add eax, 2
mov dword [esp + 0x14], eax
jmp 0x475942
cmp dword [esp + 0x40], 1
jne 0x4758ae
cmp ebx, 0xffffffff
jne 0x475881
add al, 0x23
mov byte [ebp], al
inc ebp
mov dword [esp + 0x14], ebp
jmp 0x475942
mov dword [esp + 0x14], esi
cmp ebx, 1
je 0x475ad4
add al, 0x27
mov byte [esi], al
lea edx, [ebx - 1]
lea eax, [esi + 1]
sar edx, 8
dec bl
mov byte [eax], dl
mov byte [eax + 1], bl
add eax, 2
mov dword [esp + 0x14], eax
jmp 0x475942
add cl, 0x29
mov byte [ebp], cl
mov ecx, dword [esp + 0x40]
lea esi, [ebp + 1]
mov edx, ecx
sar edx, 8
mov byte [esi], dl
mov byte [esi + 1], cl
add esi, 2
mov dword [esp + 0x14], esi
test ebx, ebx
jns 0x4758f2
mov cl, byte [esp + 0x18]
mov byte [esi], cl
mov ecx, dword [esp + 0x20]
inc esi
test ecx, ecx
js 0x4758eb
mov dl, byte [esp + 0x2c]
mov byte [esi], cl
mov byte [esi + 1], dl
add esi, 2
add al, 0x21
mov byte [esi], al
inc esi
jmp 0x47593e
cmp ebx, ecx
je 0x475942
mov esi, dword [esp + 0x14]
mov dl, byte [esp + 0x18]
mov byte [esi], dl
inc esi
cmp dword [esp + 0x20], 0
jl 0x47591a
movzx edx, byte [esp + 0x20]
mov byte [esi], dl
movzx edx, byte [esp + 0x2c]
mov byte [esi + 1], dl
add esi, 2
sub ebx, ecx
mov dword [esp + 0x38], ebx
cmp ebx, 1
jne 0x47592c
add al, 0x25
mov byte [esi], al
inc esi
jmp 0x47593e
add al, 0x27
mov byte [esi], al
mov eax, ebx
sar eax, 8
mov byte [esi + 1], al
mov byte [esi + 2], bl
add esi, 3
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x14]
mov cl, byte [esp + 0x18]
mov byte [eax], cl
inc eax
mov dword [esp + 0x14], eax
mov ebx, eax
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x28], 0
je 0x475ad4
mov al, byte [esi]
cmp al, 0x5d
jne 0x47598a
mov al, byte [esi + 3]
cmp al, 0x10
je 0x47597f
cmp al, 0xf
je 0x47597f
xor eax, eax
lea esi, [esi + eax + 4]
jmp 0x47599e
mov eax, 2
lea esi, [esi + eax + 4]
jmp 0x47599e
cmp al, 0x29
je 0x475992
cmp al, 0x43
jne 0x4759a2
movzx edx, al
movzx eax, byte [edx + 0x498100]
add esi, eax
mov dword [esp + 0x3c], esi
mov eax, ebx
sub eax, esi
mov dword [esp + 0x48], eax
test eax, eax
jle 0x475ad4
movzx eax, byte [esi]
add eax, 0xffffffdf
cmp eax, 0x3a
ja case.0x4759c8.34
movzx ecx, byte [eax + 0x47765c]
jmp dword [ecx*4 + 0x477608]
mov byte [esi], 0x2a
jmp 0x475ad0
mov byte [esi], 0x2b
jmp 0x475ad0
mov byte [esi], 0x2c
jmp 0x475ad0
mov byte [esi], 0x2d
jmp 0x475ad0
mov byte [esi], 0x37
jmp 0x475ad0
mov byte [esi], 0x38
jmp 0x475ad0
mov byte [esi], 0x39
jmp 0x475ad0
mov byte [esi], 0x3a
jmp 0x475ad0
mov byte [esi], 0x44
jmp 0x475ad0
mov byte [esi], 0x45
jmp 0x475ad0
mov byte [esi], 0x46
jmp 0x475ad0
mov byte [esi], 0x47
jmp 0x475ad0
mov byte [esi], 0x51
jmp 0x475ad0
mov byte [esi], 0x52
jmp 0x475ad0
mov byte [esi], 0x53
jmp 0x475ad0
mov byte [esi], 0x54
jmp 0x475ad0
mov byte [esi], 0x5e
jmp 0x475ad0
mov byte [esi], 0x5f
jmp 0x475ad0
mov byte [esi], 0x60
jmp 0x475ad0
mov byte [esi], 0x61
jmp 0x475ad0
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x100]
push edx
push eax
mov byte [ebx], 0
mov ecx, dword [esp + 0x44]
push 3
push ecx
call fcn.00473b20
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x4c]
push edx
push eax
add eax, 3
push eax
call fcn.0047f5f0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x64]
mov byte [eax], 0x7b
add ecx, 3
mov byte [ebx + 3], 0x72
mov eax, ecx
sar eax, 8
mov byte [ebx + 4], al
mov byte [ebx + 5], cl
mov edx, dword [esp + 0x58]
mov byte [edx + 1], al
mov eax, dword [esp + 0x58]
add esp, 0x1c
add ebx, 6
mov dword [esp + 0x14], ebx
mov byte [eax + 2], cl
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xac]
or dword [eax + 0x50], ecx
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], 0
mov ebp, dword [esp + 0x1c]
inc edi
mov esi, eax
xor edx, edx
jmp 0x4743ef
mov eax, dword [esi + 0x24]
inc edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x10], edi
mov al, byte [edi]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], 0x7e
mov dword [esp + 0x48], edx
cmp al, 0x2a
jne 0x475d02
mov ebp, dword [esi + 0xc]
lea ecx, [edi + 1]
mov dword [esp + 0x28], ecx
mov cl, byte [ecx]
movzx edx, cl
test byte [edx + ebp], 2
jne 0x475b4b
cmp cl, 0x3a
jne 0x475cfe
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], 0x498688
mov dword [esp + 0x48], eax
mov dword [esp + 0x1c], eax
inc edi
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
test byte [eax + ebp], 2
jne 0x475b61
mov ebp, edi
sub ebp, dword [esp + 0x28]
cmp byte [edi], 0x3a
jne 0x475ba7
inc edi
mov dword [esp + 0x10], edi
mov al, byte [edi]
mov ecx, edi
mov dword [esp + 0x48], ecx
test al, al
je 0x475b9f
jmp 0x475b90
cmp al, 0x29
je 0x475b9f
inc edi
mov dword [esp + 0x10], edi
mov al, byte [edi]
test al, al
jne 0x475b90
mov eax, edi
sub eax, ecx
mov dword [esp + 0x2c], eax
cmp byte [edi], 0x29
jne 0x4771c2
xor edi, edi
mov esi, 0x4986b8
cmp ebp, dword [esi]
jne 0x475bd2
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
push ebp
push ecx
push edx
call fcn.00481cea
add esp, 0xc
test eax, eax
je 0x475bfe
mov eax, dword [esi]
mov ecx, dword [esp + 0x20]
add esi, 0xc
lea edx, [ecx + eax + 1]
inc edi
mov dword [esp + 0x20], edx
cmp esi, 0x498724
jl 0x475bb7
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0x3c
jmp 0x4774f8
lea eax, [edi + edi*2]
add eax, eax
mov edx, dword [eax + eax + 0x4986bc]
add eax, eax
cmp edx, 0x97
jne 0x475c5c
cmp dword [esp + 0x2c], 0
jne 0x4771e5
mov esi, dword [esp + 0x100]
mov eax, dword [esi + 0x20]
mov dword [esi + 0x54], 1
test eax, eax
je 0x475c4c
mov byte [ebx], 0x99
mov cl, byte [eax + 5]
mov byte [ebx + 1], cl
mov dl, byte [eax + 4]
mov byte [ebx + 2], dl
mov eax, dword [eax]
add ebx, 3
test eax, eax
jne 0x475c34
cmp dword [esi + 0x44], 0
setg al
add al, 0x97
mov byte [ebx], al
jmp 0x475ceb
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jne 0x475c9e
test edx, edx
js 0x4771f7
mov al, dl
mov byte [ebx], al
inc ebx
mov dword [esp + 0x14], ebx
cmp al, 0x93
jne 0x475cf0
mov eax, dword [esp + 0xf8]
mov ecx, ebx
sub ecx, dword [eax + 4]
mov dl, bl
dec ecx
sar ecx, 8
mov byte [ebx], cl
sub dl, byte [eax + 4]
dec dl
mov byte [ebx + 1], dl
add ebx, 2
jmp 0x475cec
cmp dword [eax + 0x4986c0], 0
jl 0x477209
mov al, byte [eax + 0x4986c0]
mov byte [ebx], al
inc ebx
cmp al, 0x94
jne 0x475cd7
mov esi, dword [esp + 0xf8]
mov eax, ebx
sub eax, dword [esi + 4]
mov dl, bl
dec eax
sar eax, 8
mov byte [ebx], al
sub dl, byte [esi + 4]
dec dl
mov byte [ebx + 1], dl
add ebx, 2
mov esi, dword [esp + 0x48]
mov byte [ebx], cl
inc ebx
mov edi, edi
mov al, byte [esi]
mov byte [ebx], al
inc ebx
inc esi
dec ecx
jne 0x475ce0
mov byte [ebx], cl
inc ebx
mov dword [esp + 0x14], ebx
cmp edi, 9
jge 0x475bec
jmp 0x474ca9
mov ecx, dword [esp + 0x30]
cmp al, 0x3f
jne 0x476542
mov ebp, 1
add edi, ebp
mov dword [esp + 0x10], edi
mov al, byte [edi]
movzx ecx, al
add ecx, 0xffffffdf
cmp ecx, 0x5b
ja case.0x475d2d.34
movzx ecx, byte [ecx + 0x4776d4]
jmp dword [ecx*4 + 0x477698]
add edi, ebp
mov dword [esp + 0x10], edi
mov al, byte [edi]
test al, al
je 0x475d50
cmp al, 0x29
je 0x475d73
add edi, ebp
mov dword [esp + 0x10], edi
mov al, byte [edi]
test al, al
jne 0x475d40
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x12
xor eax, eax
pop ebx
add esp, 0xcc
ret
cmp byte [edi], 0
je 0x475d50
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
inc edi
xor edx, edx
jmp 0x4743ef
mov dword [esp + 0x48], ebp
add edi, ebp
mov dword [esp + 0x24], 0x7c
mov dword [esp + 0x10], edi
jmp 0x4768c8
cmp byte [edi + 1], 0x3f
mov dword [esp + 0x24], 0x80
jne 0x475dcc
mov al, byte [edi + 2]
cmp al, 0x3d
je 0x4768c8
cmp al, 0x21
je 0x4768c8
cmp al, 0x3c
je 0x4768c8
mov byte [ebx + 3], 0x86
mov edi, dword [esp + 0x10]
mov al, byte [edi + 1]
or edx, 0xffffffff
mov dword [esp + 0x2c], 3
mov dword [esp + 0x20], edx
cmp al, 0x52
jne 0x475e05
cmp byte [edi + 2], 0x26
lea ecx, [edi + 2]
jne 0x475e05
mov dword [esp + 0x10], ecx
mov byte [ebx + 3], 0x88
mov edi, dword [esp + 0x10]
mov dword [esp + 0x18], edx
jmp 0x475e47
cmp al, 0x3c
jne 0x475e18
inc edi
mov dword [esp + 0x18], 0x3e
mov dword [esp + 0x10], edi
jmp 0x475e47
cmp al, 0x27
jne 0x475e2b
inc edi
mov dword [esp + 0x18], 0x27
mov dword [esp + 0x10], edi
jmp 0x475e47
mov dword [esp + 0x18], 0
cmp al, 0x2d
je 0x475e3b
cmp al, 0x2b
jne 0x475e47
inc edi
mov dword [esp + 0x10], edi
movzx edx, byte [edi]
mov dword [esp + 0x20], edx
movzx eax, byte [edi + 1]
mov edx, dword [esi + 0xc]
inc edi
test byte [eax + edx], 0x10
je 0x47721b
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
xor ecx, ecx
test byte [edx + eax], 0x10
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], edi
je 0x475ea5
mov esi, edx
or edx, 0xffffffff
test ecx, ecx
js 0x475e97
test byte [eax + 0x4991e8], 4
je 0x475e8f
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2 - 0x30]
mov dword [esp + 0x1c], eax
jmp 0x475e93
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x1c]
inc edi
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
test byte [eax + esi], 0x10
jne 0x475e75
mov eax, dword [esp + 0x18]
mov ebp, edi
sub ebp, dword [esp + 0x28]
test eax, eax
jle 0x475ec3
movzx edx, byte [edi]
inc edi
mov dword [esp + 0x10], edi
cmp edx, eax
jne 0x47723e
mov al, byte [edi]
inc edi
mov dword [esp + 0x10], edi
cmp al, 0x29
jne 0x47723e
cmp dword [esp + 0x104], 0
jne 0x4768c1
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x475f2e
test ecx, ecx
jle 0x477262
cmp eax, 0x2d
mov eax, dword [esp + 0x100]
jne 0x475f0a
mov edx, dword [eax + 0x34]
sub edx, ecx
inc edx
mov dword [esp + 0x1c], edx
mov ecx, edx
jmp 0x475f0d
add ecx, dword [eax + 0x34]
test ecx, ecx
jle 0x477285
cmp ecx, dword [eax + 0x38]
jg 0x477285
mov eax, ecx
sar eax, 8
mov byte [ebx + 4], al
mov byte [ebx + 5], cl
jmp 0x4768c1
mov eax, dword [esp + 0x100]
mov esi, dword [eax + 0x28]
xor edi, edi
cmp dword [eax + 0x2c], edi
jle 0x475f66
nop
mov edx, dword [esp + 0x28]
push ebp
lea ecx, [esi + 2]
push ecx
push edx
call fcn.00481cea
add esp, 0xc
test eax, eax
je 0x475f66
mov eax, dword [esp + 0x100]
add esi, dword [eax + 0x30]
inc edi
cmp edi, dword [eax + 0x2c]
jl 0x475f40
mov eax, dword [esp + 0x100]
cmp edi, dword [eax + 0x2c]
jge 0x475f91
movzx eax, byte [esi]
movzx ecx, byte [esi + 1]
shl eax, 8
or eax, ecx
mov edx, eax
sar edx, 8
inc byte [ebx + 3]
mov byte [ebx + 4], dl
mov byte [ebx + 5], al
jmp 0x4768c1
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x100]
shr edi, 3
and edi, 1
push eax
mov ebx, ebp
call fcn.00472b10
add esp, 4
test eax, eax
jle 0x475fce
mov ecx, dword [esp + 0x14]
mov edx, eax
sar edx, 8
inc byte [ecx + 3]
mov byte [ecx + 4], dl
mov byte [ecx + 5], al
mov ebx, ecx
jmp 0x4768c8
cmp dword [esp + 0x18], 0
jne 0x4772a8
mov esi, dword [esp + 0x28]
cmp byte [esi], 0x52
jne 0x476030
xor ecx, ecx
lea eax, [ecx + 1]
cmp ebp, eax
jle 0x476011
jmp 0x475ff0
movzx edx, byte [eax + esi]
test byte [edx + 0x4991e8], 4
je 0x4772ba
inc eax
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*2 - 0x30]
cmp eax, ebp
jl 0x475ff0
test ecx, ecx
jne 0x476016
mov ecx, 0xffff
mov eax, dword [esp + 0x14]
mov edx, ecx
sar edx, 8
mov byte [eax + 3], 0x88
mov byte [eax + 4], dl
mov byte [eax + 5], cl
mov ebx, eax
jmp 0x4768c1
cmp ebp, 6
jne 0x47605f
push ebp
push str.DEFINE
push esi
call fcn.00481cea
add esp, 0xc
test eax, eax
jne 0x47605f
mov eax, dword [esp + 0x14]
mov byte [eax + 3], 0x8a
mov dword [esp + 0x2c], 1
mov ebx, eax
jmp 0x4768c1
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x4772cc
mov ecx, dword [esp + 0x100]
cmp eax, dword [ecx + 0x38]
jg 0x4772cc
mov ecx, dword [esp + 0x14]
mov edx, eax
sar edx, 8
mov byte [ecx + 4], dl
mov byte [ecx + 5], al
mov ebx, ecx
jmp 0x4768c1
add dword [esi + 0x44], ebp
add edi, ebp
mov dword [esp + 0x24], 0x77
mov dword [esp + 0x10], edi
jmp 0x4768c8
add edi, ebp
mov dword [esp + 0x10], edi
cmp byte [edi], 0x29
jne 0x4760d7
mov ecx, dword [esp + 0x58]
mov byte [ebx], 0x96
mov edi, dword [esp + 0x10]
add ebx, ebp
mov dword [esp + 0x1c], 0
mov ebp, dword [esp + 0x1c]
inc edi
mov dword [esp + 0x14], ebx
xor edx, edx
jmp 0x4743ef
add dword [esi + 0x44], ebp
mov dword [esp + 0x24], 0x78
jmp 0x4768c8
mov cl, byte [edi + 1]
cmp cl, 0x21
je 0x4761c2
cmp cl, 0x3d
je 0x4761ab
mov edx, dword [esi + 0xc]
movzx ecx, cl
test byte [ecx + edx], 0x10
je 0x4772e4
xor edx, edx
cmp al, 0x3c
setne dl
add edi, ebp
mov ebp, dword [esi + 0xc]
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
dec edx
and edx, 0x17
add edx, 0x27
test byte [eax + ebp], 0x10
mov ecx, edi
mov dword [esp + 0x28], ecx
je 0x476142
mov eax, ebp
inc edi
mov dword [esp + 0x10], edi
movzx ebp, byte [edi]
test byte [eax + ebp], 0x10
jne 0x476134
mov eax, edi
sub eax, ecx
cmp dword [esp + 0x104], 0
mov dword [esp + 0x20], eax
je 0x47633d
movzx ecx, byte [edi]
cmp ecx, edx
jne 0x47734f
cmp dword [esi + 0x2c], 0x2710
jge 0x477372
lea ecx, [eax + 3]
cmp ecx, dword [esi + 0x30]
jle 0x4764fd
mov dword [esi + 0x30], ecx
cmp eax, 0x20
jle 0x4764fd
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x30
xor eax, eax
pop ebx
add esp, 0xcc
ret
add dword [esi + 0x44], ebp
add edi, 2
mov dword [esp + 0x24], 0x79
mov dword [esp + 0x10], edi
jmp 0x4768c8
add dword [esi + 0x44], ebp
add edi, 2
mov dword [esp + 0x24], 0x7a
mov dword [esp + 0x10], edi
jmp 0x4768c8
add edi, ebp
mov dword [esp + 0x24], 0x7b
mov dword [esp + 0x10], edi
jmp 0x4768c8
mov byte [ebx], 0x70
mov edi, dword [esp + 0x10]
mov dword [esp + 0xa0], ebp
mov ebp, edi
inc edi
mov dword [esp + 0x70], ebp
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
xor edx, edx
xor eax, eax
test byte [ecx + 0x4991e8], 4
mov dword [esp + 0x58], ebx
mov dword [esp + 0x20], edx
je 0x47623c
lea ecx, [ecx]
inc edi
lea edx, [edx + edx*4]
lea edx, [ecx + edx*2 - 0x30]
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
test byte [ecx + 0x4991e8], 4
jne 0x476220
mov dword [esp + 0x20], edx
mov cl, byte [edi]
cmp cl, 0x29
je 0x476294
test cl, cl
je 0x477309
cmp cl, 0x3a
je 0x476256
mov dword [esp + 0x20], eax
mov edi, ebp
lea ecx, [edi + 1]
mov dword [esp + 0x70], ecx
lea ecx, [ecx]
inc edi
mov dword [esp + 0x10], edi
mov al, byte [edi]
test al, al
je 0x477309
cmp al, 0x29
jne 0x476260
test al, al
je 0x477309
sub edi, ecx
push edi
push ecx
call dword [0x4a4c40]
mov edi, dword [esp + 0x18]
add esp, 8
test eax, eax
je 0x477309
mov ecx, dword [esp + 0x20]
cmp ecx, 0xff
jg 0x47732c
mov byte [ebx + 1], cl
mov dword [ebx + 2], eax
mov eax, dword [esp + 0x10]
sub eax, dword [esi + 0x18]
add ebx, 0xa
inc eax
sar eax, 8
mov byte [ebx - 4], al
mov cl, byte [esp + 0x10]
sub cl, byte [esi + 0x18]
mov word [ebx - 2], 0
inc cl
mov byte [ebx - 3], cl
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x1c], 0
mov ebp, dword [esp + 0x1c]
inc edi
mov dword [esp + 0x14], ebx
xor edx, edx
jmp 0x4743ef
add edi, ebp
mov dword [esp + 0x10], edi
mov al, byte [edi]
cmp al, 0x3d
je 0x476328
cmp al, 0x3e
je 0x476328
cmp al, 0x3c
je case.0x475d2d.39
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x29
xor eax, eax
pop ebx
add esp, 0xcc
ret
xor edx, edx
cmp al, 0x3e
sete dl
mov dword [esp + 0x20], edx
mov edx, 0x29
jmp 0x476c3d
mov eax, dword [esp + 0x100]
mov ebp, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x2c], eax
cmp eax, ecx
jle 0x476468
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
lea ecx, [ebp + 2]
cmp edx, 4
jb 0x476388
mov eax, dword [esi]
cmp eax, dword [ecx]
jne 0x476390
sub edx, 4
add ecx, 4
add esi, 4
cmp edx, 4
jae 0x476374
test edx, edx
je 0x4763db
movzx eax, byte [esi]
movzx ebp, byte [ecx]
sub eax, ebp
jne 0x4763cb
cmp edx, 1
jbe 0x4763d7
movzx eax, byte [esi + 1]
movzx ebp, byte [ecx + 1]
sub eax, ebp
jne 0x4763cb
cmp edx, 2
jbe 0x4763d7
movzx eax, byte [esi + 2]
movzx ebp, byte [ecx + 2]
sub eax, ebp
jne 0x4763cb
cmp edx, 3
jbe 0x4763d7
movzx eax, byte [esi + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
mov ebp, dword [esp + 0x1c]
sar eax, 0x1f
or eax, 1
jmp 0x4763dd
mov ebp, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x100]
test eax, eax
jne 0x476424
mov eax, dword [esp + 0x20]
cmp byte [eax + ebp + 2], 0
jne 0x476441
movzx ecx, byte [ebp]
movzx eax, byte [ebp + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [edx + 0x34]
inc eax
cmp ecx, eax
je 0x47641a
test dword [esp + 0x30], 0x80000
je 0x477395
mov dword [esp + 0x14], 1
jmp 0x476426
js 0x476441
mov eax, dword [esp + 0x18]
add ebp, dword [edx + 0x30]
inc eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], eax
cmp eax, dword [edx + 0x2c]
jl 0x476364
jmp 0x47645d
sub ecx, dword [esp + 0x18]
mov edx, dword [edx + 0x30]
imul ecx, edx
push ecx
lea ecx, [edx + ebp]
push ebp
push ecx
call fcn.0047f5f0
mov edi, dword [esp + 0x1c]
add esp, 0xc
cmp dword [esp + 0x14], 0
jne 0x4764be
mov ecx, dword [esp + 0x100]
mov eax, dword [ecx + 0x28]
xor edx, edx
mov dword [esp + 0x18], edx
cmp dword [ecx + 0x2c], edx
jle 0x4764be
lea ecx, [ecx]
cmp eax, ebp
je 0x4764a9
movzx edx, byte [eax]
movzx ecx, byte [eax + 1]
shl edx, 8
or edx, ecx
mov ecx, dword [esp + 0x100]
mov esi, dword [ecx + 0x34]
inc esi
cmp edx, esi
je 0x4773b8
mov edx, dword [esp + 0x18]
jmp 0x4764b1
mov ecx, dword [esp + 0x100]
dec edx
add eax, dword [ecx + 0x30]
inc edx
mov dword [esp + 0x18], edx
cmp edx, dword [ecx + 0x2c]
jl 0x476480
mov eax, dword [esp + 0x100]
mov edx, dword [eax + 0x34]
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
inc edx
sar edx, 8
mov byte [ebp], dl
mov al, byte [eax + 0x34]
push esi
push ecx
lea edx, [ebp + 2]
inc al
push edx
mov byte [ebp + 1], al
call fcn.00487060
mov byte [esi + ebp + 2], 0
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x10c]
add esp, 0xc
inc dword [esi + 0x2c]
inc edi
mov dword [esp + 0x10], edi
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
sar eax, 8
mov byte [ebx + 3], al
mov cl, byte [esi + 0x34]
mov byte [ebx + 4], cl
mov dword [esp + 0x2c], 2
jmp 0x4768c8
mov edx, 0x29
mov dword [esp + 0x20], ebp
jmp 0x476c3d
add edi, ebp
mov dword [esp + 0x10], edi
mov edx, 0x29
jmp 0x47673b
test ecx, 0x1000
je 0x476505
mov dword [esp + 0x24], 0x7c
jmp 0x4768c8
mov edx, dword [esp + 0x30]
mov eax, dword [esi + 0x34]
mov esi, dword [esp + 0xec]
push edx
push eax
lea ecx, [esp + 0x18]
push esi
push ecx
xor ecx, ecx
mov dword [esp + 0x80], edi
call fcn.004722e0
add esp, 0x10
cmp dword [esi], 0
mov dword [esp + 0x18], eax
jne 0x4774f8
test eax, eax
jge case.0x474763.1
mov edx, eax
neg eax
cmp eax, 0x1a
jne 0x4765f1
mov edi, dword [esp + 0x10]
cmp byte [edi + 1], 0x5c
jne 0x4765ce
cmp byte [edi + 2], 0x45
jne 0x4765ce
mov esi, dword [esp + 0x100]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
add edi, 2
inc edi
xor edx, edx
jmp 0x4743ef
mov esi, dword [esp + 0x100]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
inc edi
mov dword [esp + 0x4c], 1
xor edx, edx
jmp 0x4743ef
cmp eax, 0x19
je 0x474ca9
mov ecx, dword [esp + 0x34]
cmp ecx, 0xfffffffe
jne 0x476614
cmp eax, 5
jle 0x476614
cmp eax, 0x17
jge 0x476614
or ecx, 0xffffffff
mov dword [esp + 0x34], ecx
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x5c], ecx
cmp eax, 0x1b
jne 0x476bcf
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0x10]
mov edx, dword [esi + 0x24]
inc edi
mov dword [esp + 0x54], edx
xor edx, edx
mov dword [esp + 0x10], edi
cmp byte [edi], 0x3c
setne dl
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], eax
mov al, byte [edi + 1]
dec edx
and edx, 0x17
add edx, 0x27
mov dword [esp + 0x18], edx
cmp al, 0x2b
je 0x4766ef
cmp al, 0x2d
je 0x4766ef
mov al, byte [edi + 1]
lea ecx, [edi + 1]
mov dword [esp + 0x20], 1
test al, al
je 0x4766af
movzx eax, al
cmp eax, edx
je 0x4766af
test byte [eax + 0x4991e8], 4
jne 0x47669a
mov dword [esp + 0x20], 0
mov edx, dword [esi + 0xc]
test byte [eax + edx], 0x10
mov edx, dword [esp + 0x18]
je 0x4766af
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x476682
movzx eax, byte [ecx]
cmp eax, edx
je 0x4766d7
mov ecx, dword [esp + 0xec]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [ecx], 0x39
mov ecx, dword [esp + 0x58]
inc edi
xor edx, edx
jmp 0x4743ef
cmp dword [esp + 0x20], 0
jne 0x476736
mov dword [esp + 0x20], 1
jmp 0x476c3d
movzx ecx, byte [edi + 2]
test byte [ecx + 0x4991e8], 4
lea eax, [edi + 2]
je 0x47670e
nop
movzx ecx, byte [eax + 1]
inc eax
test byte [ecx + 0x4991e8], 4
jne 0x476700
movzx eax, byte [eax]
cmp eax, edx
je 0x476736
mov ecx, dword [esp + 0xec]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [ecx], 0x39
mov ecx, dword [esp + 0x58]
inc edi
xor edx, edx
jmp 0x4743ef
inc edi
mov dword [esp + 0x10], edi
mov al, byte [edi]
movzx ecx, al
cmp ecx, 0x2b
jne 0x47677d
inc edi
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
test byte [eax + 0x4991e8], 4
jne 0x476b45
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x3f
xor eax, eax
pop ebx
add esp, 0xcc
ret
cmp ecx, 0x2d
jne 0x476b45
movzx ebp, byte [edi + 1]
test byte [ebp + 0x4991e8], 4
jne 0x476b40
mov edx, dword [esp + 0x100]
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x20], esi
lea ecx, [esp + 0x20]
cmp al, 0x29
je 0x476828
lea esi, [ebp + 0x10]
lea esp, [esp]
cmp al, 0x3a
je 0x476820
movzx eax, al
inc edi
sub eax, 0x2d
mov dword [esp + 0x10], edi
cmp eax, 0x4b
ja case.0x4767e3.46
movzx eax, byte [eax + 0x477754]
jmp dword [eax*4 + 0x477730]
lea ecx, [esp + 0x28]
jmp 0x47681a
or dword [ecx], 0x80000
or dword [edx + 0x4c], esi
jmp 0x47681a
or dword [ecx], 1
jmp 0x47681a
or dword [ecx], 2
jmp 0x47681a
or dword [ecx], 4
jmp 0x47681a
or dword [ecx], 8
jmp 0x47681a
or dword [ecx], 0x200
jmp 0x47681a
or dword [ecx], 0x40
mov al, byte [edi]
cmp al, 0x29
jne 0x4767c0
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x28]
or esi, dword [esp + 0x30]
not ebp
and esi, ebp
cmp byte [edi], 0x29
mov dword [esp + 0x60], esi
jne 0x4768b4
mov ecx, dword [edx + 0x14]
add ecx, 3
cmp ebx, ecx
jne 0x47685c
mov eax, dword [esp + 0x104]
test eax, eax
je 0x476857
cmp dword [eax], 6
jne 0x47685c
mov dword [edx + 0x48], esi
jmp 0x476884
mov eax, esi
shr eax, 9
and eax, 1
mov dword [esp + 0xb8], eax
xor eax, 1
mov dword [esp + 0xb4], eax
mov eax, esi
and eax, 1
shl eax, 8
mov dword [esp + 0x9c], eax
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
mov dword [edx], esi
mov dword [esp + 0x1c], 0
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x100]
inc edi
xor edx, edx
jmp 0x4743ef
inc edi
mov dword [esp + 0x24], 0x7c
mov dword [esp + 0x10], edi
mov esi, dword [esp + 0x100]
mov eax, dword [esp + 0x24]
mov byte [ebx], al
mov ecx, dword [esi + 0x50]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0xac], ecx
mov dword [esp + 0x68], 0
cmp eax, 0x79
je 0x4768f6
cmp eax, 0x7a
je 0x4768f6
xor eax, eax
jmp 0x4768fb
mov eax, 1
mov edx, dword [esp + 0x104]
neg edx
sbb edx, edx
lea ecx, [esp + 0x68]
and edx, ecx
push edx
mov edx, dword [esp + 0xfc]
push esi
push edx
lea ecx, [esp + 0xa4]
push ecx
xor ecx, ecx
cmp dword [esp + 0x34], 0x80
lea edx, [esp + 0xc0]
sete cl
push edx
mov edx, dword [esp + 0x40]
add ecx, dword [esp + 0x110]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x108]
push ecx
push eax
push edx
mov edx, dword [esp + 0x88]
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x68]
push ecx
push edx
call fcn.004777a0
add esp, 0x34
test eax, eax
je 0x4774f8
mov ebp, dword [esp + 0x24]
lea eax, [ebp - 0x77]
cmp eax, 3
ja 0x47697f
dec dword [esi + 0x44]
cmp ebp, 0x80
jne 0x4769c9
cmp dword [esp + 0x104], 0
jne 0x4769c9
mov eax, ebx
xor ecx, ecx
movzx edx, byte [eax + 1]
movzx edi, byte [eax + 2]
shl edx, 8
or edx, edi
add eax, edx
inc ecx
cmp byte [eax], 0x72
jne 0x476995
cmp byte [ebx + 3], 0x8a
jne 0x476a49
cmp ecx, 1
jg 0x4773ff
mov dword [esp + 0x24], 0x8a
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x98]
mov edi, dword [esp + 0x10]
cmp byte [edi], 0x29
jne 0x477423
cmp dword [esp + 0x104], 0
je 0x476a73
mov eax, dword [esp + 0x104]
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
mov edx, 0x7fffffeb
sub edx, eax
lea ebp, [ecx - 6]
cmp edx, ebp
jl 0x476fee
mov ebp, dword [esp + 0x1c]
lea eax, [eax + ecx - 6]
mov ecx, dword [esp + 0x104]
mov dword [ecx], eax
mov ecx, dword [esp + 0x58]
mov word [ebx + 1], 0x300
mov word [ebx + 3], 0x72
mov byte [ebx + 5], 3
mov edi, dword [esp + 0x10]
add ebx, 6
inc edi
mov dword [esp + 0x14], ebx
xor edx, edx
jmp 0x4743ef
cmp ecx, 2
jg 0x477411
cmp ecx, 1
jne 0x4769c9
or edx, 0xffffffff
or ecx, edx
mov dword [esp + 0x98], edx
mov dword [esp + 0xb0], ecx
jmp 0x4769d7
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
cmp ebp, 0x8a
je 0x474cb4
mov eax, dword [esp + 0x44]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x50], eax
mov dword [esp + 0xa8], 0
cmp ebp, 0x7b
jl 0x476b17
cmp eax, 0xfffffffe
jne 0x476adf
test ecx, ecx
js 0x476acd
mov dword [esp + 0x34], ecx
mov dword [esp + 0xa8], 1
mov dword [esp + 0x50], 0xffffffff
jmp 0x476af7
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x50], 0xffffffff
jmp 0x476af7
test ecx, ecx
js 0x476af7
test edx, edx
jns 0x476aff
mov edx, dword [esp + 0xac]
or edx, ecx
mov dword [esp + 0x98], edx
test edx, edx
js 0x474cb4
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x44], edx
inc edi
xor edx, edx
jmp 0x4743ef
cmp ebp, 0x77
jne 0x474cb4
test edx, edx
js 0x474cb4
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x44], edx
inc edi
xor edx, edx
jmp 0x4743ef
inc edi
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
xor ebx, ebx
test byte [eax + 0x4991e8], 4
je 0x476b6b
inc edi
lea ebx, [ebx + ebx*4]
lea ebx, [eax + ebx*2 - 0x30]
mov dword [esp + 0x10], edi
movzx eax, byte [edi]
test byte [eax + 0x4991e8], 4
jne 0x476b53
movzx eax, byte [edi]
cmp eax, edx
jne 0x477446
cmp ecx, 0x2d
jne 0x476bb6
test ebx, ebx
je 0x477469
mov ecx, dword [esi + 0x34]
sub ecx, ebx
lea ebx, [ecx + 1]
test ebx, ebx
jg 0x476d39
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0xf
mov ecx, dword [esp + 0xe8]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xcc
ret
cmp ecx, 0x2b
jne 0x476d39
test ebx, ebx
je 0x477262
add ebx, dword [esi + 0x34]
jmp 0x476d39
cmp eax, 0x1c
jne 0x476e4f
mov edi, dword [esp + 0x10]
mov al, byte [edi + 1]
cmp al, 0x3c
je 0x476c0e
cmp al, 0x27
je 0x476c0e
cmp al, 0x7b
je 0x476c0e
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
mov edx, esi
mov esi, dword [esp + 0x100]
mov dword [edx], 0x45
inc edi
xor edx, edx
jmp 0x4743ef
mov esi, dword [esp + 0x100]
inc edi
mov dword [esp + 0x10], edi
mov al, byte [edi]
mov dword [esp + 0x20], 0
cmp al, 0x3c
jne 0x476c2f
mov edx, 0x3e
jmp 0x476c3d
xor edx, edx
cmp al, 0x27
setne dl
dec edx
and edx, 0xffffffaa
add edx, 0x7d
mov ebx, dword [esi + 0xc]
inc edi
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
test byte [ecx + ebx], 0x10
mov eax, edi
mov dword [esp + 0x28], eax
je 0x476c64
mov esi, ebx
inc edi
mov dword [esp + 0x10], edi
movzx ecx, byte [edi]
test byte [ecx + esi], 0x10
jne 0x476c56
mov ebx, edi
sub ebx, eax
cmp dword [esp + 0x104], 0
je 0x476cc2
test ebx, ebx
je 0x47748c
movzx ecx, byte [edi]
cmp ecx, edx
jne 0x4774af
cmp ebx, 0x20
jg 0x476188
mov esi, dword [esp + 0x100]
mov ebp, dword [esi + 0x1c]
mov dword [esi + 0x1c], edi
mov edi, dword [esp + 0x30]
shr edi, 3
and edi, 1
push eax
call fcn.00472b10
mov ebx, eax
add esp, 4
mov dword [esi + 0x1c], ebp
test ebx, ebx
jns 0x476d2e
xor ebx, ebx
jmp 0x476d2e
mov ebp, dword [esp + 0x100]
mov esi, dword [ebp + 0x28]
xor edi, edi
cmp edi, dword [ebp + 0x2c]
jge 0x476d0b
mov eax, dword [esp + 0x28]
push ebx
lea edx, [esi + 2]
push edx
push eax
call fcn.00481cea
add esp, 0xc
test eax, eax
jne 0x476cef
cmp byte [esi + ebx + 2], al
je 0x476cf8
add esi, dword [ebp + 0x30]
inc edi
cmp edi, dword [ebp + 0x2c]
jl 0x476cd3
cmp edi, dword [ebp + 0x2c]
jge 0x476d0b
movzx ebx, byte [esi]
movzx ecx, byte [esi + 1]
shl ebx, 8
or ebx, ecx
jmp 0x476d2e
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
shr edi, 3
and edi, 1
push edx
mov esi, ebp
call fcn.00472b10
mov ebx, eax
add esp, 4
test ebx, ebx
jle 0x4774d2
cmp dword [esp + 0x20], 0
je 0x476e61
cmp dword [esp + 0x104], 0
mov esi, dword [esp + 0x100]
mov ecx, dword [esp + 0x14]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], eax
jne 0x476e1c
mov byte [ecx], 0
test ebx, ebx
je 0x476d84
mov eax, dword [esp + 0x100]
mov eax, dword [eax + 0x14]
mov esi, ebx
call fcn.00472e60
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x100]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x476dd9
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x100]
shr edi, 3
and edi, 1
push eax
call fcn.00472b10
add esp, 4
test eax, eax
js 0x4772a8
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, ecx
sub edx, eax
inc edx
add ebx, eax
mov eax, dword [esi + 0x24]
sar edx, 8
mov byte [eax], dl
sub cl, byte [esi + 0x14]
mov edx, dword [esi + 0x24]
inc cl
mov byte [edx + 1], cl
add dword [esi + 0x24], 2
mov dword [esp + 0x28], ebx
jmp 0x476e14
movzx edx, byte [eax + 1]
movzx edi, byte [eax + 2]
shl edx, 8
or edx, edi
jne 0x476e1c
cmp dword [esp + 0xfc], edx
jg 0x476e1c
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
push esi
push eax
push ecx
push edx
call fcn.004734c0
add esp, 0x10
test eax, eax
jne 0x4774e1
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov byte [ecx], 0x6f
mov edx, eax
sub edx, dword [esi + 0x14]
add ecx, 3
sar edx, 8
mov byte [ecx - 2], dl
sub al, byte [esi + 0x14]
cmp dword [esp + 0x34], 0xfffffffe
mov byte [ecx - 1], al
mov dword [esp + 0x14], ecx
jne 0x474ca9
mov dword [esp + 0x34], 0xffffffff
jmp 0x474ca9
cmp eax, 0x23
jl 0x476ee3
mov ebx, 0xffffffdd
sub ebx, dword [esp + 0x18]
cmp dword [esp + 0x34], 0xfffffffe
jne 0x476e70
mov dword [esp + 0x34], 0xffffffff
test byte [esp + 0x30], 1
mov eax, dword [esp + 0x14]
setne cl
add cl, 0x6d
mov byte [eax], cl
mov edx, ebx
sar edx, 8
mov dword [esp + 0x1c], eax
mov byte [eax + 1], dl
mov byte [eax + 2], bl
add eax, 3
mov dword [esp + 0x14], eax
mov eax, 1
cmp ebx, 0x20
jge 0x476ea5
mov ecx, ebx
shl eax, cl
mov ecx, dword [esp + 0x100]
or dword [ecx + 0x40], eax
cmp ebx, dword [ecx + 0x3c]
jle 0x476eb7
mov dword [ecx + 0x3c], ebx
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x474ca9
movzx ecx, word [eax + 4]
cmp ecx, ebx
je 0x476ed5
mov eax, dword [eax]
test eax, eax
jne 0x476ec2
jmp 0x474ca9
mov edx, 1
mov word [eax + 6], dx
jmp 0x474ca9
cmp eax, 0x16
je 0x4774f0
cmp eax, 0xf
je 0x4774f0
cmp eax, 0x10
je 0x4774f0
cmp eax, 5
jle 0x476f0c
mov dword [esp + 0x1c], ebx
cmp eax, 0x17
jl 0x476f14
mov dword [esp + 0x1c], 0
neg dl
mov byte [ebx], dl
inc ebx
jmp 0x474ca5
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x100]
cmp edx, 0xfffffffe
jne 0x476f8e
mov edx, dword [esp + 0x44]
or ecx, 0xffffffff
mov dword [esp + 0x50], ecx
mov dword [esp + 0x5c], edx
cmp eax, 0x80
jge 0x476f72
or eax, dword [esp + 0x9c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
inc edi
mov dword [esp + 0x34], eax
xor edx, edx
jmp 0x4743ef
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x58]
inc edi
xor edx, edx
jmp 0x4743ef
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x5c], edx
cmp eax, 0x80
jge 0x474cb4
movzx eax, byte [ebx - 1]
or eax, dword [ecx + 0x50]
mov ebx, dword [esp + 0x14]
or eax, dword [esp + 0x9c]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x58]
inc edi
mov dword [esp + 0x44], eax
xor edx, edx
jmp 0x4743ef
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x34
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0x14
mov ecx, dword [esp + 0xe8]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x34
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x44]
mov dword [eax], ecx
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov dword [eax], ebx
mov dword [ecx], edi
cmp dword [esp + 0x104], edx
je 0x4770b5
mov edx, dword [esp + 0x104]
mov eax, dword [edx]
mov ecx, dword [esp + 0x94]
mov esi, ebx
mov ebp, 0x7fffffeb
sub esi, ecx
sub ebp, eax
cmp ebp, esi
jge 0x4770af
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x14
xor eax, eax
pop ebx
add esp, 0xcc
ret
sub eax, ecx
add eax, ebx
mov dword [edx], eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xcc
ret
mov edx, dword [esp + 0xec]
xor ecx, ecx
cmp byte [edi + 1], 0x3a
setne cl
dec ecx
and ecx, 0xffffffee
add ecx, 0x1f
mov dword [edx], ecx
mov ecx, dword [esp + 0xe8]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x1f
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0x1e
jmp 0x4774f8
mov edx, edi
mov dword [edx], 7
jmp 0x4774f8
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 8
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xec]
mov dword [ecx], 6
mov ecx, dword [esp + 0xe8]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 9
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x14
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x3c
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0x3b
jmp 0x4774f8
mov edx, dword [esp + 0xec]
mov dword [edx], 0x42
jmp 0x4774f8
mov eax, dword [esp + 0xec]
mov dword [eax], 0x3b
jmp 0x4774f8
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x1c
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xec]
dec edi
mov dword [ecx], 0x1a
mov ecx, dword [esp + 0xe8]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x3a
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0xf
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0xf
jmp 0x4774f8
mov edx, dword [esp + 0xec]
mov dword [edx], 0xf
jmp 0x4774f8
mov ecx, dword [esp + 0xec]
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x23
mov dword [ecx], eax
jmp 0x4774f8
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
add edi, ebp
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x18
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x27
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0x26
mov ecx, dword [esp + 0xe8]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x2a
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0x31
mov ecx, dword [esp + 0xe8]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x2b
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0x41
mov ecx, dword [esp + 0xe8]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
dec edi
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0xc
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0x36
jmp 0x4774f8
mov edx, dword [esp + 0xec]
mov dword [edx], 0x1b
jmp 0x4774f8
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0xe
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [edx], 0x1d
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x3a
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
mov dword [eax], 0x3e
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov ecx, dword [esp + 0xec]
mov dword [ecx], 0x2a
mov ecx, dword [esp + 0xe8]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xcc
ret
mov eax, dword [esp + 0xec]
mov dword [eax], 0xf
jmp 0x4774f8
mov edx, dword [esp + 0xec]
mov dword [edx], 0x28
jmp 0x4774f8
mov eax, esi
mov dword [eax], 0x2d
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xe8]
mov dword [ecx], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xcc
ret