Function at 0x46c9b0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
mov eax, dword [0x5e0f00]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
xor edx, edx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x18], eax
push ebx
mov dword [ebp - 0x84], edx
mov ebx, dword [eax + 0x80]
mov edx, dword [eax + 0x7c]
mov eax, dword [eax]
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [eax + 0x24]
xor edi, edi
mov dword [ebp - 0x74], eax
xor eax, eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x70], eax
mov eax, ecx
shr eax, 0x13
and eax, 1
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x40], eax
mov eax, ecx
shr eax, 2
and eax, 1
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x94], edi
mov edi, dword [ebp - 0x74]
mov dword [ebp - 0x8c], ebx
and edi, 8
mov ebx, dword [eax + 0x20]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0xa4], edi
je 0x46ca63
mov dword [edx], 0x80090000
jmp 0x46ca6f
test byte [ebp - 0x74], 4
je 0x46ca7c
mov dword [edx], 0x80180005
mov dword [edx + 4], 0x801a0000
add edx, 8
mov dword [ebp - 0x14], edx
mov edi, 0
test ecx, 0x2000000
je 0x46cc87
cmp esi, ebx
jae 0x46cc16
nop word [eax + eax]
cmp edx, dword [ebp - 0x8c]
jae 0x46f45e
cmp dword [ebp - 0x40], 0
mov edi, esi
movzx edx, byte [esi]
mov dword [ebp - 0x80], edi
lea esi, [edi + 1]
je 0x46cb96
cmp edx, 0xc0
jb 0x46cb96
test dl, 0x20
jne 0x46cae6
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x46cb93
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x46cb0d
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x46cb93
test dl, 8
jne 0x46cb30
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x46cb93
test dl, 4
jne 0x46cb5f
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x46cb93
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x7c], 0
je 0x46cbfd
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x4c], ecx
lea ecx, [eax + 0x1c]
je 0x46cbd1
mov eax, edi
mov edi, dword [ebp - 0x4c]
sub eax, dword [edi + 4]
sub eax, dword [ecx]
mov dword [edi + 8], eax
mov eax, ebx
add eax, 0xfffffff0
cmp edi, eax
mov edi, dword [ebp - 0x80]
jne 0x46cbd1
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 0xc], 0xff
je 0x46cbee
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x4c], eax
lea ebx, [eax + 0x10]
mov dword [eax], 0x80060000
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0xff
sub edi, dword [ecx]
mov dword [eax + 4], edi
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
jmp 0x46cc00
mov eax, dword [ebp - 0x14]
mov dword [eax], edx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
add edx, 4
mov dword [ebp - 0x14], edx
cmp esi, ebx
jb 0x46caa0
mov edi, dword [ebp - 0x4c]
mov ecx, edx
mov ebx, dword [ebp - 0x18]
test edi, edi
je 0x46cc2d
mov eax, esi
sub eax, dword [edi + 4]
sub eax, dword [ebx + 0x1c]
mov dword [edi + 8], eax
cmp dword [ebp - 0x7c], 0
je 0x46cc68
test edi, edi
je 0x46cc47
lea eax, [edx - 0x10]
cmp edi, eax
jne 0x46cc47
cmp dword [edi + 0xc], 0xff
je 0x46cc60
mov edi, edx
mov dword [edx], 0x80060000
lea ecx, [edx + 0x10]
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0xff
mov eax, esi
sub eax, dword [ebx + 0x1c]
mov dword [edi + 4], eax
cmp dword [ebp - 0xa4], 0
je 0x46f440
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x46f453
mov eax, dword [eax + 0x28]
xor edx, edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 8], 0xc
div dword [ebp - 8]
mov eax, dword [ebp - 0x6c]
sub eax, edx
mov edx, dword [ebp - 0x18]
add eax, dword [edx + 0x14]
mov edx, ecx
or edx, 0x80
mov dword [ebp - 0x6c], eax
test ecx, 0x1000000
cmove edx, ecx
mov dword [ebp - 0x34], edx
nop
mov edx, dword [ebp - 0x14]
jmp 0x46cccf
mov edx, dword [ebp - 0x14]
inc esi
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x18]
movzx eax, di
mov dword [ebp - 0x98], eax
cmp esi, ebx
jae 0x46f42f
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
cmp edx, dword [ebp - 0x8c]
jae 0x46f45e
mov edx, dword [ecx]
movzx eax, di
cmp eax, dword [edx + 0x20]
ja 0x46f428
cmp dword [ebp - 0x40], 0
mov edi, esi
movzx ebx, byte [esi]
mov dword [ebp - 0x28], ebx
mov ecx, ebx
lea esi, [edi + 1]
mov dword [ebp - 0x10], esi
mov eax, esi
je 0x46ce01
cmp ebx, 0xc0
jb 0x46ce01
movzx ecx, byte [esi]
and ecx, 0x3f
test bl, 0x20
jne 0x46cd50
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
or ebx, eax
inc esi
jmp 0x46cdf7
movzx eax, byte [esi + 1]
and eax, 0x3f
test bl, 0x10
jne 0x46cd71
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add esi, 2
jmp 0x46cdf7
test bl, 8
jne 0x46cd94
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 3
jmp 0x46cdf7
test bl, 4
jne 0x46cdc3
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 4
jmp 0x46cdf7
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 5
mov dword [ebp - 0x28], ebx
mov eax, esi
mov dword [ebp - 0x10], esi
mov ecx, ebx
cmp dword [ebp - 0x54], 0
je 0x46ce99
cmp ecx, 0x5c
jne 0x46ce26
cmp eax, dword [ebp - 0x1c]
jae 0x46ce26
cmp byte [esi], 0x45
jne 0x46ce26
mov dword [ebp - 0x54], 0
jmp 0x46ccc5
cmp dword [ebp - 0x64], 0
jg case.0x46d21a.34
cmp dword [ebp - 0x70], 0
je 0x46ce4d
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x5c], 0
mov dword [edx], ebx
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccc9
mov ecx, dword [ebp - 0x68]
mov eax, ecx
dec ecx
mov dword [ebp - 0x68], ecx
test eax, eax
jg 0x46ce7b
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x78]
push edx
push dword [ebp - 0x14]
push dword [ebp - 0x7c]
push eax
push edi
call fcn.0045bd00
mov edx, eax
add esp, 0x14
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x4c], eax
jmp 0x46ce7e
mov edx, dword [ebp - 0x14]
mov dword [edx], ebx
add edx, 4
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x14], edx
jmp 0x46ccc9
cmp dword [ebp - 0x70], 0
je 0x46ceea
mov eax, dword [ebp - 0x34]
and eax, 0x400080
cmp eax, 0x400080
jne 0x46cf1b
cmp ecx, 0xff
jbe 0x46cec9
mov eax, ebx
or eax, 1
cmp eax, 0x200f
je 0x46cec9
cmp eax, 0x2029
jne 0x46cf1b
cmp ebx, 0x100
jae 0x46ceea
cmp ebx, 0x23
je 0x46ceea
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + 0x10]
test byte [ebx + eax], 1
jne 0x46ceea
cmp ebx, 0x85
jne 0x46cf1e
mov ecx, dword [ebp - 0x1c]
cmp ebx, 0x5c
jne 0x46d00a
cmp esi, ecx
jae 0x46d00a
mov al, byte [esi]
cmp al, 0x51
je 0x46cf0c
cmp al, 0x45
jne 0x46d00a
xor ecx, ecx
cmp al, 0x51
sete cl
mov dword [ebp - 0x54], ecx
jmp 0x46ccc5
mov ecx, dword [ebp - 0x18]
cmp ebx, 0x29
je 0x46cfae
cmp ebx, 0x5c
je 0x46cf3c
mov edx, dword [ebp - 0x14]
mov dword [edx], ebx
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccc9
mov eax, dword [ebp - 0x34]
test eax, 0x400000
je 0x46cf9e
mov ebx, dword [ebp - 0x1c]
push ecx
push 0
push dword [edx + 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.00431be0
mov ecx, dword [ebp - 0x2c]
add esp, 0x20
test ecx, ecx
jne 0x46f304
sub eax, ecx
je 0x46cf98
sub eax, 0x19
je 0x46ee53
mov esi, dword [ebp - 0x10]
sub eax, 1
jne 0x46f2aa
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x54], 1
jmp 0x46cccc
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [edx], ebx
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccc9
mov eax, esi
mov dword [ebp - 0x70], 0
sub eax, dword [ebp - 0x94]
dec eax
cmp eax, 0xff
jg 0x46f2b4
mov edx, dword [ebp - 0x14]
mov eax, edx
mov ecx, dword [ebp - 0x90]
sub eax, ecx
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
sar eax, 2
dec eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x18]
test eax, eax
je 0x46ccd2
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x88], 0
jmp 0x46ccd2
test byte [ebp - 0x34], 0x80
je 0x46d127
cmp ebx, 0x100
jae 0x46d02f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x46ccc9
mov edx, dword [ebp - 0x14]
cmp ebx, 0x85
je 0x46ccc9
mov eax, ebx
or eax, 1
cmp eax, 0x200f
je 0x46ccc9
cmp eax, 0x2029
je 0x46ccc9
cmp ebx, 0x23
jne 0x46d127
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
cmp esi, ebx
jae 0x46ccd2
nop dword [eax]
nop word [eax + eax]
mov edx, dword [ebp - 0x18]
mov ecx, dword [edx + 0x90]
lea edi, [edx + 0x94]
mov eax, dword [edx + 0x20]
test ecx, ecx
je 0x46d0c4
cmp esi, eax
jae 0x46d0b4
push dword [ebp - 0x40]
push edi
push eax
push ecx
push esi
call fcn.00432b00
add esp, 0x14
test eax, eax
je 0x46d0b4
mov eax, 1
jmp 0x46d0b6
xor eax, eax
test eax, eax
je 0x46d0e6
add esi, dword [edi]
mov edx, dword [ebp - 0x14]
jmp 0x46cccc
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x46d0e6
mov al, byte [esi]
cmp al, byte [edx + 0xa0]
jne 0x46d0e6
cmp ecx, 1
je 0x46d0ba
mov al, byte [esi + 1]
cmp al, byte [edx + 0xa1]
je 0x46d0ba
inc esi
cmp dword [ebp - 0x40], 0
mov eax, esi
je 0x46d111
cmp esi, ebx
jae 0x46d111
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x46d080
mov edx, dword [ebp - 0x14]
lea esi, [ecx + 1]
mov edi, dword [ebp - 0x20]
mov ecx, esi
cmp esi, ebx
jb 0x46d0f5
jmp 0x46cccf
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
cmp eax, ebx
jb 0x46d080
jmp 0x46ccd2
cmp ebx, 0x28
jne 0x46d162
mov eax, ecx
sub eax, esi
cmp eax, 2
jl 0x46d192
cmp byte [esi], 0x3f
jne 0x46d192
cmp byte [esi + 1], 0x23
jne 0x46d192
mov ebx, dword [ebp - 0x1c]
inc esi
cmp esi, ebx
jae 0x46f2bf
cmp byte [esi], 0x29
jne 0x46d143
cmp esi, ebx
jae 0x46f2bf
mov edx, dword [ebp - 0x14]
inc esi
jmp 0x46cccc
cmp ebx, 0x2a
je 0x46d1be
cmp ebx, 0x2b
je 0x46d1be
cmp ebx, 0x3f
je 0x46d1be
cmp ebx, 0x7b
jne 0x46d192
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x58], esi
push eax
push 0
push 0
push ecx
lea eax, [ebp - 0x58]
push eax
call fcn.00476a00
add esp, 0x14
test eax, eax
jne 0x46d1be
mov ecx, dword [ebp - 0x68]
mov eax, ecx
dec ecx
mov dword [ebp - 0x68], ecx
test eax, eax
jg 0x46d1be
push dword [ebp - 0x18]
lea eax, [ebp - 0x78]
push dword [ebp - 0x14]
push dword [ebp - 0x7c]
push eax
push edi
call fcn.0045bd00
mov dword [ebp - 0x14], eax
add esp, 0x14
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x64]
test ecx, ecx
jle case.0x46d21a.33
cmp ebx, 0x28
jne case.0x46d21a.34
mov eax, dword [ebp - 0x1c]
sub eax, esi
cmp eax, 3
jl case.0x46d21a.34
mov al, byte [esi]
cmp al, 0x3f
je 0x46d1e9
cmp al, 0x2a
je 0x46d1ee
dec esi
mov ecx, 0x80
jmp 0x46f48a
cmp byte [esi], 0x2a
jne 0x46d207
mov eax, dword [ebp - 0x18]
movzx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp - 0x64]
shr eax, 2
and eax, 1
jmp 0x46d23b
movzx eax, byte [esi + 1]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x46d21a.34
movzx eax, byte [eax + 0x46f4b8]
jmp dword [eax*4 + 0x46f4a8]
xor eax, eax
cmp ecx, 2
sete al
jmp 0x46d23b
mov al, byte [esi + 2]
cmp al, 0x3d
je 0x46d236
cmp al, 0x21
jne case.0x46d21a.34
mov eax, 1
test eax, eax
je case.0x46d21a.34
mov eax, dword [ebp - 0x5c]
mov edx, eax
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x5c], 0
test eax, eax
je 0x46d29c
cmp ebx, 0x3f
je 0x46d26d
cmp ebx, 0x2b
jne 0x46d29c
cmp ebx, 0x3f
mov ecx, 0x10000
mov ebx, 0x20000
cmove ecx, ebx
add ecx, eax
xor eax, eax
cmp edx, 0x803d0000
mov edx, dword [ebp - 0x14]
setne al
lea eax, [eax*8 - 0xc]
mov dword [eax + edx], ecx
jmp 0x46ccc9
lea eax, [ebx - 0x24]
cmp eax, 0x58
ja case.0x46d2af.37
movzx eax, byte [eax + 0x46f510]
jmp dword [eax*4 + 0x46f4dc]
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x58], esi
mov esi, dword [ebp - 0x18]
push esi
push 0
mov eax, dword [esi]
push dword [eax + 0x24]
lea eax, [ebp - 0x2c]
push dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.00431be0
mov ecx, dword [ebp - 0x2c]
add esp, 0x20
mov edi, eax
test ecx, ecx
jne 0x46d318
test edi, edi
je 0x46d62c
js 0x46d5cb
lea ecx, [edi - 6]
cmp ecx, 0x16
ja case.0x46d309.13
movzx eax, byte [ecx + 0x46f584]
jmp dword [eax*4 + 0x46f56c]
mov ecx, 0xb9
mov dword [ebp - 0x2c], ecx
mov esi, dword [ebp - 0x10]
test byte [ebp - 0x74], 2
je 0x46f48a
mov eax, dword [ebp - 0x58]
mov esi, eax
mov ebx, dword [ebp - 0x1c]
cmp eax, ebx
jb 0x46d637
mov edx, 0x5c
jmp 0x46d719
push esi
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x24], 0
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 0
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00457e80
add esp, 0x18
test eax, eax
je 0x46d4bb
cmp dword [ebp - 0x9c], 0
je 0x46d389
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [eax + 0xf]
mov edx, dword [ebp - 0x14]
lea eax, [edi - 0x7fe80000]
movzx ecx, word [ebp - 0x24]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x20]
mov dword [edx], eax
movzx eax, word [ebp - 0x30]
shl ecx, 0x10
or ecx, eax
mov dword [ebp - 0x30], 1
mov dword [edx + 4], ecx
add edx, 8
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov esi, dword [ebp - 0x10]
cmp esi, ebx
jae 0x46d4c3
mov al, byte [esi]
cmp al, 0x7b
je 0x46d3dc
cmp al, 0x3c
je 0x46d442
cmp al, 0x27
jne 0x46d4c3
cmp al, 0x27
mov ebx, 0x7d
mov eax, 0x27
cmove ebx, eax
cmp edi, 0x1b
jne 0x46d461
cmp ebx, 0x7d
je 0x46d461
lea eax, [esi + 1]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x18]
push 0xa1
push 0xffff
push dword [eax + 0x74]
lea eax, [ebp - 0x24]
push dword [ebp - 0x1c]
push eax
call fcn.004765b0
add esp, 0x1c
test eax, eax
je 0x46d456
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x1c]
jae 0x46d449
movzx eax, byte [ecx]
cmp eax, ebx
jne 0x46d449
mov eax, dword [ebp - 0x38]
mov esi, ecx
mov ebx, dword [ebp - 0x1c]
jmp 0x46ef8f
mov ebx, 0x3e
jmp 0x46d3eb
mov ecx, 0x9d
mov dword [ebp - 0x2c], ecx
jmp 0x46d31b
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x46d31b
push dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x44]
push eax
push ebx
push dword [ebp - 0x40]
lea eax, [ebp - 0x10]
push dword [ebp - 0x1c]
push eax
call fcn.00476270
add esp, 0x24
test eax, eax
je 0x46d4bb
cmp edi, 0x1c
je 0x46d49a
mov eax, 0x80210000
cmp ebx, 0x7d
jne 0x46d49f
mov eax, 0x80040000
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov dword [edx], eax
mov eax, dword [ebp - 0x3c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x44]
mov dword [edx + 8], eax
add edx, 0xc
jmp 0x46d7bb
mov ecx, dword [ebp - 0x2c]
jmp 0x46d318
cmp edi, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [ebp - 0x2c], ecx
jmp 0x46d31b
mov edx, dword [ebp - 0x14]
lea eax, [edi - 0x7fe80000]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
test dword [ebp - 0x34], 0x20000
mov dword [ebp - 0x30], 1
jne 0x46d530
mov edx, dword [ebp - 0x14]
lea eax, [edi - 0x7fe80000]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
cmp edi, 7
je 0x46d544
cmp edi, 9
je 0x46d544
mov eax, 0x8018000f
cmp edi, 0xb
jne 0x46d549
mov eax, 0x80180010
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x14], edx
cmp ecx, 5
ja case.default.0x46d55d
jmp dword [ecx*4 + 0x46f59c]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [edx], 0x3000d
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [edx], 0x70000
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [edx], 0x90000
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov edx, dword [ebp - 0x14]
lea eax, [edi - 0x7fe80000]
mov esi, dword [ebp - 0x10]
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46cccc
mov eax, dword [ebp - 0x18]
neg edi
mov esi, dword [ebp - 0x10]
mov ecx, esi
mov edx, dword [ebp - 0x14]
sub ecx, dword [eax + 0x1c]
mov eax, edi
or eax, 0x80030000
dec ecx
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x14], edx
cmp edi, 0xa
jge 0x46d612
mov eax, dword [ebp - 0x18]
cmp dword [eax + edi*4 + 0x2c], 0xffffffff
jne 0x46d61a
mov dword [eax + edi*4 + 0x2c], ecx
mov ecx, eax
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x30], 1
jmp 0x46ccd2
mov dword [edx], ecx
add edx, 4
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x30], 1
jmp 0x46ccd2
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x10]
jmp 0x46d719
cmp dword [ebp - 0x40], 0
lea esi, [eax + 1]
movzx edx, byte [eax]
je 0x46d719
cmp edx, 0xc0
jb 0x46d719
test dl, 0x20
jne 0x46d66c
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x46d719
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x46d693
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x46d719
test dl, 8
jne 0x46d6b6
and edx, 7
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x46d719
test dl, 4
jne 0x46d6e5
and edx, 3
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 4
jmp 0x46d719
and edx, 1
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 4]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 5
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x30], 1
mov dword [eax], edx
mov edx, eax
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov edx, dword [ebp - 0x14]
mov dword [edx], 0x80090000
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccc9
mov edx, dword [ebp - 0x14]
mov dword [edx], 0x80160000
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccc9
mov edx, dword [ebp - 0x14]
mov dword [edx], 0x80170000
jmp 0x46d7b8
mov dword [ebp - 0x5c], 0x80340000
jmp 0x46d7dd
mov dword [ebp - 0x5c], 0x80370000
jmp 0x46d7dd
mov dword [ebp - 0x5c], 0x803a0000
jmp 0x46d7dd
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x10]
push eax
call fcn.00476a00
add esp, 0x14
test eax, eax
jne 0x46d7d3
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x46f304
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [edx], ebx
add edx, 4
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], 1
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
jmp 0x46ccd2
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x5c], 0x803d0000
test edi, edi
je 0x46f2c9
mov edx, dword [ebp - 0x14]
cmp dword [edx - 4], 0x802a0000
lea ecx, [edx - 4]
jne 0x46d81c
mov edi, dword [ebp - 0x84]
cmp ecx, edi
jb 0x46d80c
nop
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edi
jae 0x46d800
mov dword [edi], 0x801a0000
mov dword [edx + 4], 0x80190000
add edx, 8
mov edi, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x18]
mov dword [edx], edi
add edx, 4
mov edi, dword [ebp - 0x20]
cmp ebx, 0x7b
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
jne 0x46ccd2
mov eax, dword [ebp - 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 8]
mov dword [edx + 4], eax
add edx, 8
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov ecx, dword [ebp - 0x1c]
mov eax, ecx
sub eax, esi
mov dword [ebp - 0x30], 1
cmp eax, 6
jl 0x46d94b
mov edx, 0x55b65c
mov eax, esi
sub eax, edx
mov edi, 6
mov dword [ebp - 8], eax
mov cl, byte [edx + eax]
lea edx, [edx + 1]
mov al, byte [edx - 1]
cmp cl, al
jne 0x46d88e
mov eax, dword [ebp - 8]
sub edi, 1
jne 0x46d877
jmp 0x46d8b9
mov edx, str._:_:__
mov eax, esi
sub eax, edx
mov edi, 6
mov dword [ebp - 8], eax
nop
mov cl, byte [edx + eax]
lea edx, [edx + 1]
mov al, byte [edx - 1]
cmp cl, al
jne 0x46d948
mov eax, dword [ebp - 8]
sub edi, 1
jne 0x46d8a0
mov ecx, dword [ebp - 0x14]
mov dword [ecx], 0x80180005
lea eax, [ecx + 8]
cmp byte [esi + 2], 0x3c
jne 0x46d8d4
mov dword [ecx + 4], 0x80230000
jmp 0x46d8ed
mov dword [ecx + 4], 0x80250000
mov ecx, dword [ebp - 0x80]
mov dword [ecx], 1
mov dword [eax], 0
add eax, 4
test dword [ebp - 0x34], 0x20000
lea edx, [eax + 4]
jne 0x46d91c
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [eax], 0x8018000b
mov dword [edx], 0x80190000
add edx, 4
add esi, 6
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [eax], 0x80180010
mov dword [edx], 0x90000
add edx, 4
mov dword [edx], 0x80190000
add edx, 4
add esi, 6
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov ecx, dword [ebp - 0x1c]
cmp esi, ecx
jae 0x46d976
mov al, byte [esi]
cmp al, 0x3a
je 0x46d95d
cmp al, 0x2e
je 0x46d95d
cmp al, 0x3d
jne 0x46d976
lea eax, [ebp - 0x58]
push eax
push ecx
push esi
call fcn.00436440
add esp, 0xc
test eax, eax
jne 0x46f2d4
mov ecx, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 0x24], edx
cmp esi, ecx
jae 0x46db17
movzx ebx, byte [esi]
inc esi
cmp dword [ebp - 0x40], 0
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov ecx, eax
mov dword [ebp - 0x10], esi
mov edi, esi
je 0x46da92
cmp ebx, 0xc0
jb 0x46da92
test al, 0x20
jne 0x46d9c1
movzx ebx, byte [esi]
and eax, 0x1f
and ebx, 0x3f
shl eax, 6
or ebx, eax
inc esi
jmp 0x46da88
test al, 0x10
jne 0x46d9e7
movzx ebx, byte [esi]
and eax, 0xf
and ebx, 0x3f
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 2
jmp 0x46da88
test al, 8
jne 0x46da16
movzx ebx, byte [esi]
and eax, 7
and ebx, 0x3f
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 3
jmp 0x46da88
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 4
movzx eax, byte [esi + 1]
jne 0x46da51
and ebx, 3
and eax, 0x3f
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 4
jmp 0x46da88
and ebx, 1
and eax, 0x3f
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 5
mov dword [ebp - 0x28], ebx
mov edi, esi
mov dword [ebp - 0x10], esi
mov ecx, ebx
cmp ecx, 0x5c
jne 0x46dae3
mov ecx, dword [ebp - 0x1c]
cmp edi, ecx
jae 0x46daab
cmp byte [esi], 0x45
jne 0x46daab
lea esi, [edi + 1]
mov dword [ebp - 0x10], esi
jmp 0x46db0a
mov eax, ecx
sub eax, edi
cmp eax, 3
jl 0x46db17
mov edx, 0x55b66c
mov dword [ebp - 8], 3
sub edi, edx
mov cl, byte [edx + edi]
lea edx, [edx + 1]
mov al, byte [edx - 1]
cmp cl, al
jne 0x46db14
sub dword [ebp - 8], 1
jne 0x46dac2
mov edx, dword [ebp - 0x24]
add esi, 3
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x10], esi
jmp 0x46db0a
test dword [ebp - 0x34], 0x1000000
je 0x46daf6
cmp ecx, 0x20
je 0x46db07
cmp ecx, 9
je 0x46db07
test edx, edx
jne 0x46db17
cmp ebx, 0x5e
jne 0x46db17
mov edx, 1
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x1c]
cmp esi, ecx
jb 0x46d983
jmp 0x46db17
mov edx, dword [ebp - 0x24]
cmp ebx, 0x5d
jne 0x46db4a
mov ecx, dword [ebp - 0x18]
test byte [ecx + 0x6c], 1
je 0x46db4a
mov ebx, dword [ebp - 0x1c]
test edx, edx
mov edi, dword [ebp - 0x20]
mov edx, 0x800c0000
mov eax, 0x800b0000
cmovne eax, edx
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
test edx, edx
mov dword [ebp - 0x30], 1
mov ecx, 0x800e0000
mov eax, 0x800a0000
cmovne eax, ecx
mov ecx, dword [ebp - 0x14]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [ebp - 0x54]
xor edi, edi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x24], edi
jmp 0x46db78
mov ecx, dword [ebp - 0x14]
mov edx, 1
test eax, eax
je 0x46dbef
cmp ebx, 0x5c
jne 0x46df30
cmp esi, dword [ebp - 0x1c]
jae 0x46df30
cmp byte [esi], 0x45
jne 0x46df30
mov dword [ebp - 0x54], 0
inc esi
mov edx, dword [ebp - 0x14]
cmp esi, dword [ebp - 0x1c]
jae 0x46f324
movzx ebx, byte [esi]
inc esi
cmp dword [ebp - 0x40], 0
mov eax, ebx
mov dword [ebp - 0x28], ebx
mov ecx, eax
mov dword [ebp - 0x10], esi
je 0x46e1bf
cmp eax, 0xc0
jb 0x46e1bf
test al, 0x20
jne 0x46e0f0
movzx ebx, byte [esi]
and eax, 0x1f
and ebx, 0x3f
shl eax, 6
or ebx, eax
inc esi
jmp 0x46e1b7
test dword [ebp - 0x34], 0x1000000
je 0x46dc02
cmp ebx, 0x20
je 0x46dba4
cmp ebx, 9
je 0x46dba4
cmp ebx, 0x5b
jne 0x46dd8f
mov eax, dword [ebp - 0x1c]
sub eax, esi
cmp eax, 3
jl 0x46df30
mov al, byte [esi]
cmp al, 0x3a
je 0x46dc2b
cmp al, 0x2e
je 0x46dc2b
cmp al, 0x3d
jne 0x46df30
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x1c]
push esi
call fcn.00436440
add esp, 0xc
test eax, eax
je 0x46df2d
mov dword [ebp - 0x28], 0
cmp edi, 1
je 0x46f30f
cmp byte [esi], 0x3a
jne 0x46f2e6
inc esi
mov eax, esi
cmp byte [esi], 0x5e
jne 0x46dc6a
inc esi
mov dword [ebp - 0x28], edx
mov eax, esi
mov edx, dword [ebp - 0x58]
mov ecx, str.alpha
sub edx, eax
mov dword [ebp - 8], ecx
xor ebx, ebx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x24], ebx
mov al, 5
movzx eax, al
mov dword [ebp - 0x10], eax
cmp edx, eax
jne 0x46dd30
mov edi, edx
mov eax, ecx
test edx, edx
je 0x46dcb5
mov ebx, esi
sub ebx, ecx
nop dword [eax + eax]
mov dl, byte [ebx + eax]
lea eax, [eax + 1]
mov cl, byte [eax - 1]
cmp dl, cl
jne 0x46dd24
sub edi, 1
jne 0x46dca0
mov ebx, dword [ebp - 0x24]
test ebx, ebx
js 0x46dd48
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x1c]
add esi, 2
dec eax
cmp esi, eax
jae 0x46dcda
cmp byte [esi], 0x2d
jne 0x46dcda
cmp byte [esi + 1], 0x5d
jne 0x46f30f
xor edi, edi
test dword [ebp - 0x34], 0x20000
mov dword [ebp - 0x24], edi
je 0x46dd71
mov eax, dword [ebx*8 + 0x5e0770]
mov ecx, dword [ebx*8 + 0x5e0774]
test eax, eax
js 0x46dd52
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
xor edx, 1
shl eax, 0x10
sub edx, 0x7fe7fff1
or eax, ecx
mov dword [ebx], edx
mov edx, ebx
mov dword [edx + 4], eax
add edx, 8
mov dword [ebp - 0x14], edx
jmp 0x46dba7
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x24]
inc ebx
inc ecx
add ecx, eax
mov dword [ebp - 0x24], ebx
mov dword [ebp - 8], ecx
mov al, byte [ebx + 0x55a4e0]
test al, al
jne 0x46dc81
mov ecx, 0x82
jmp 0x46f48a
test ecx, ecx
je 0x46dd71
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46dba7
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
add eax, 0x801c
shl eax, 0x10
mov dword [edx], eax
mov dword [edx + 4], ebx
add edx, 8
mov dword [ebp - 0x14], edx
jmp 0x46dba7
cmp ebx, 0x2d
jne 0x46ddc5
cmp edi, 2
jb 0x46df30
mov edx, dword [ebp - 0x14]
cmp edi, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
cmove eax, ecx
mov edi, 1
mov dword [ebp - 0x24], edi
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46dba7
cmp ebx, 0x5c
jne 0x46df30
mov eax, dword [ebp - 0x18]
mov edi, esi
push eax
push 1
mov dword [ebp - 0x58], edi
mov ebx, esi
mov eax, dword [eax]
mov dword [ebp - 8], esi
push dword [eax + 0x24]
lea eax, [ebp - 0x2c]
push dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x10]
push eax
call fcn.00431be0
mov ecx, dword [ebp - 0x2c]
add esp, 0x20
mov esi, eax
test ecx, ecx
je 0x46df0d
test byte [ebp - 0x74], 2
je 0x46f304
mov esi, edi
cmp ebx, dword [ebp - 0x1c]
jb 0x46de25
mov ebx, 0x5c
jmp 0x46df28
mov esi, dword [ebp - 8]
movzx ebx, byte [edi]
inc esi
cmp dword [ebp - 0x40], 0
je 0x46df28
cmp ebx, 0xc0
jb 0x46df28
test bl, 0x20
jne 0x46de5b
movzx eax, byte [esi]
and ebx, 0x1f
and eax, 0x3f
shl ebx, 6
or ebx, eax
inc esi
jmp 0x46df28
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 0x10
jne 0x46de82
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add esi, 2
jmp 0x46df28
test bl, 8
jne 0x46dea8
and ebx, 7
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 3
jmp 0x46df28
test bl, 4
jne 0x46ded7
and ebx, 3
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 4
jmp 0x46df28
and ebx, 1
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 5
jmp 0x46df28
mov eax, esi
cmp esi, 0x1a
ja case.0x46df1b.1
movzx eax, byte [eax + 0x46f5cc]
jmp dword [eax*4 + 0x46f5b4]
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x10]
xor edx, edx
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
cmp edi, 1
jne 0x46e0da
cmp ebx, dword [ecx - 8]
jne 0x46e0ab
mov edx, dword [ebp - 0x14]
sub edx, 4
xor edi, edi
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x24], edi
jmp 0x46dba7
mov esi, dword [ebp - 0x10]
mov ebx, 8
xor edx, edx
jmp 0x46df2a
mov dword [ebp - 0x54], 1
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x24]
jmp 0x46dba4
cmp dword [ebp - 0x24], 1
je 0x46f30c
xor edi, edi
lea ecx, [esi - 6]
mov dword [ebp - 0x24], edi
cmp ecx, 0xf
ja case.0x46df95.13
movzx eax, byte [ecx + 0x46f5fc]
jmp dword [eax*4 + 0x46f5e8]
mov edx, dword [ebp - 0x14]
lea eax, [esi - 0x7fe80000]
mov dword [edx], eax
add edx, 4
jmp 0x46e081
test dword [ebp - 0x34], 0x20000
jne 0x46dfcb
mov edx, dword [ebp - 0x14]
lea eax, [esi - 0x7fe80000]
mov dword [edx], eax
add edx, 4
jmp 0x46e081
cmp esi, 7
je 0x46dfdf
cmp esi, 9
je 0x46dfdf
mov eax, 0x8018000f
cmp esi, 0xb
jne 0x46dfe4
mov eax, 0x80180010
mov edx, dword [ebp - 0x14]
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x14], edx
cmp ecx, 5
ja case.default.0x46dff8
jmp dword [ecx*4 + 0x46f60c]
mov dword [edx], 0x3000d
add edx, 4
jmp 0x46e081
mov dword [edx], 0x70000
add edx, 4
jmp 0x46e081
mov dword [edx], 0x90000
add edx, 4
jmp 0x46e081
push dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
mov dword [ebp - 8], edi
push eax
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], edi
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00457e80
add esp, 0x18
test eax, eax
je 0x46f374
cmp dword [ebp - 0xa0], edi
je 0x46e063
xor eax, eax
cmp esi, 0xf
sete al
lea esi, [eax + 0xf]
mov edx, dword [ebp - 0x14]
lea eax, [esi - 0x7fe80000]
movzx ecx, word [ebp - 8]
shl ecx, 0x10
mov dword [edx], eax
movzx eax, word [ebp - 0xc]
or ecx, eax
mov dword [edx + 4], ecx
add edx, 8
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x10]
dec eax
cmp esi, eax
jae 0x46dba7
cmp byte [esi], 0x2d
jne 0x46dba7
cmp byte [esi + 1], 0x5d
jne 0x46f30f
jmp 0x46dba7
jb 0x46f319
test edx, edx
mov edx, dword [ebp - 0x14]
jne 0x46e0c8
cmp dword [edx - 4], 0x801f0000
jne 0x46e0c8
mov dword [edx - 4], 0x801e0000
mov dword [edx], ebx
add edx, 4
xor edi, edi
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x24], edi
jmp 0x46dba7
lea edi, [edx + 2]
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x24], edi
mov dword [edx], ebx
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46dba7
test al, 0x10
jne 0x46e116
movzx ebx, byte [esi]
and eax, 0xf
and ebx, 0x3f
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 2
jmp 0x46e1b7
test al, 8
jne 0x46e145
movzx ebx, byte [esi]
and eax, 7
and ebx, 0x3f
shl eax, 6
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 3
jmp 0x46e1b7
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 4
movzx eax, byte [esi + 1]
jne 0x46e180
and ebx, 3
and eax, 0x3f
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 4
jmp 0x46e1b7
and ebx, 1
and eax, 0x3f
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
movzx eax, byte [esi + 2]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 3]
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 4]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 5
mov dword [ebp - 0x28], ebx
mov ecx, ebx
mov dword [ebp - 0x10], esi
mov eax, dword [ebp - 0x54]
cmp ecx, 0x5d
jne 0x46db75
test eax, eax
jne 0x46db75
cmp edi, 1
jne 0x46e1df
mov dword [edx - 4], 0x2d
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [edx], 0x800d0000
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov ebx, dword [ebp - 0x1c]
cmp esi, ebx
jae 0x46f485
mov al, byte [esi]
cmp al, 0x3f
je 0x46e645
mov edi, dword [ebp - 0x20]
cmp al, 0x2a
je 0x46e266
inc edi
test dword [ebp - 0x34], 0x2000
mov dword [ebp - 0x20], edi
jne 0x46e251
mov edi, dword [ebp - 0x18]
mov ecx, dword [edi + 0x74]
cmp ecx, 0xffff
jae 0x46f3f4
mov edx, dword [ebp - 0x14]
inc ecx
mov dword [edi + 0x74], ecx
or ecx, 0x80080000
mov edi, dword [ebp - 0x20]
mov dword [edx], ecx
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46cccf
mov edx, dword [ebp - 0x14]
mov ecx, 0x801a0000
mov dword [edx], ecx
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46cccf
mov eax, ebx
sub eax, esi
cmp eax, 1
jle 0x46ccc0
movzx ecx, byte [esi + 1]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x28], ecx
cmp ecx, 0x29
je 0x46ccc0
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
push edx
mov eax, dword [edx + 0x10]
test byte [ecx + eax], 4
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x44]
push eax
push 0
push dword [ebp - 0x40]
lea eax, [ebp - 0x10]
push edi
push eax
je 0x46e4a9
mov ebx, 0x559e60
mov dword [ebp - 0x28], ebx
call fcn.00476270
add esp, 0x24
test eax, eax
je 0x46f374
mov esi, dword [ebp - 0x10]
cmp esi, edi
jae 0x46e3d8
cmp byte [esi], 0x3a
jne 0x46e3d8
mov edx, dword [ebp - 0x3c]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 8], ecx
mov ecx, dword [ecx*8 + 0x559f38]
mov dword [ebp - 0xc], ecx
cmp edx, ecx
jne 0x46e3bd
mov edi, edx
mov edx, ebx
test edi, edi
je 0x46e329
mov ebx, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x28]
mov cl, byte [ebx + edx]
lea edx, [edx + 1]
mov al, byte [edx - 1]
cmp cl, al
jne 0x46e3b1
sub edi, 1
jne 0x46e310
mov eax, dword [ebp - 0x10]
cmp eax, 0x11
jge 0x46e3d8
mov edx, dword [ebp - 8]
mov edi, dword [ebp - 0x24]
mov edx, dword [edx*8 + 0x559f3c]
test edi, edi
jle 0x46e354
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x46f32e
cmp edx, 0x80250000
ja 0x46e400
je 0x46e430
cmp edx, 0x80230000
ja 0x46e3e2
je 0x46ec56
cmp edx, 0x80020000
je 0x46ec25
cmp edx, 0x80220000
jne 0x46f34c
mov edx, dword [ebp - 0x14]
inc esi
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x1c]
movzx eax, cx
mov dword [edx], 0x80220000
add edx, 4
inc eax
mov dword [ebp - 0x14], edx
movzx edi, ax
mov dword [ebp - 0x20], edi
jmp 0x46cccf
mov ebx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x3c]
inc eax
inc ecx
add ebx, ecx
mov dword [ebp - 0x10], eax
mov ecx, eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 8], eax
mov dword [ebp - 0x38], eax
cmp ecx, 0x11
jl 0x46e2f0
mov ecx, 0xc3
jmp 0x46f48a
cmp edx, 0x80240000
jne 0x46f34c
mov edx, dword [ebp - 0x14]
inc esi
mov ebx, dword [ebp - 0x1c]
mov dword [edx], 0x80240000
jmp 0x46ece2
cmp edx, 0x80280000
ja 0x46e439
je 0x46e430
cmp edx, 0x80260000
je 0x46e430
cmp edx, 0x80270000
jne 0x46f34c
mov edx, dword [ebp - 0x14]
inc esi
mov ebx, dword [ebp - 0x1c]
mov dword [edx], 0x80270000
jmp 0x46ece2
mov ebx, dword [ebp - 0x1c]
dec esi
jmp 0x46ecbc
cmp edx, 0x8fff0000
jne 0x46f34c
mov edx, dword [ebp - 0x14]
inc esi
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x20], eax
mov dword [edx], 0x80220000
mov dword [edx + 4], 0x80020000
add edx, 8
mov dword [ebp - 0x14], edx
test edi, edi
jne 0x46e475
mov ecx, dword [ebp - 0x18]
mov edi, dword [ecx + 0x14]
mov dword [ebp - 0x48], edi
jmp 0x46e487
add edi, 0xc
mov dword [ebp - 0x48], edi
cmp edi, dword [ebp - 0x6c]
jae 0x46f419
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
mov word [edi], ax
mov eax, 4
mov word [edi + 6], ax
mov eax, dword [ebp - 0x34]
and eax, 0x10424e8
mov dword [edi + 8], eax
mov edi, dword [ebp - 0x20]
jmp 0x46ccd2
mov ebx, 0x5413b4
mov dword [ebp - 0x24], ebx
call fcn.00476270
add esp, 0x24
test eax, eax
je 0x46f374
mov esi, dword [ebp - 0x10]
cmp esi, edi
jae 0x46f439
mov al, byte [esi]
mov byte [ebp - 0x5d], al
cmp al, 0x3a
je 0x46e4dd
cmp al, 0x29
jne 0x46f439
mov edi, dword [ebp - 0x3c]
xor edx, edx
mov eax, 0x559df0
mov dword [ebp - 0x38], edx
mov dword [ebp - 8], eax
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0xc], ecx
cmp edi, ecx
jne 0x46e5cd
mov edx, ebx
test edi, edi
je 0x46e526
mov ebx, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x24]
nop dword [eax]
mov cl, byte [ebx + edx]
lea edx, [edx + 1]
mov al, byte [edx - 1]
cmp cl, al
jne 0x46e5be
sub edi, 1
jne 0x46e510
mov ecx, dword [ebp - 0x38]
cmp ecx, 9
jge 0x46f439
cmp byte [ebp - 0x5d], 0x3a
jne 0x46e546
lea eax, [esi + 1]
cmp eax, dword [ebp - 0x1c]
jae 0x46e546
cmp byte [eax], 0x29
cmove esi, eax
lea ecx, [ecx + ecx*2]
mov edi, dword [ecx*4 + 0x559df8]
test edi, edi
jle 0x46e5f2
cmp byte [esi], 0x3a
jne 0x46f356
mov ecx, dword [ecx*4 + 0x559df4]
xor eax, eax
mov ebx, dword [ebp - 0x14]
inc esi
cmp ecx, 0x802a0000
mov dword [ebp - 0x84], ebx
sete al
mov dword [ebp - 0x30], eax
lea edx, [ebx + 4]
xor eax, eax
mov edi, 0x10000
cmp ecx, 0x80290000
cmovne eax, edi
add eax, ecx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x90], edx
add edx, 4
mov dword [ebx], eax
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x3c]
inc ebx
add eax, 0xc
add ebx, ecx
mov dword [ebp - 8], eax
inc edx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x38], edx
cmp eax, 0x559e5c
jl 0x46e4f0
mov ecx, 0xa0
jmp 0x46f48a
mov ecx, dword [ecx*4 + 0x559df4]
xor eax, eax
mov ebx, dword [ebp - 0x14]
cmp ecx, 0x802a0000
mov dword [ebp - 0x84], ebx
sete al
mov dword [ebp - 0x30], eax
mov al, byte [esi]
lea edx, [ebx + 4]
inc esi
cmp al, 0x3a
jne 0x46e632
test edi, edi
jns 0x46e583
mov dword [ebp - 0x88], ecx
mov eax, 0x80290000
jmp 0x46e595
mov edi, dword [ebp - 0x20]
mov dword [ebx], ecx
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
inc esi
mov dword [ebp - 0x10], esi
mov edx, esi
cmp esi, ebx
jae 0x46f485
mov cl, byte [esi]
movzx eax, cl
add eax, 0xffffffdf
cmp eax, 0x31
ja case.0x46e66b.34
movzx eax, byte [eax + 0x46f65c]
jmp dword [eax*4 + 0x46f624]
inc esi
mov dword [ebp - 0x10], esi
cmp esi, ebx
jae 0x46f485
mov al, byte [esi]
cmp al, 0x3c
jne 0x46e68e
mov eax, 0x3e
jmp 0x46ed3f
cmp al, 0x3e
je case.0x46e66b.38
cmp al, 0x3d
jne 0x46f360
push dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x44]
push eax
push 0x29
push dword [ebp - 0x40]
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.00476270
add esp, 0x24
test eax, eax
je 0x46f374
mov edx, dword [ebp - 0x14]
mov dword [edx], 0x80040000
mov eax, dword [ebp - 0x3c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x44]
mov dword [edx + 8], eax
add edx, 0xc
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x30], 1
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
jmp 0x46ccd2
xor eax, eax
inc esi
mov dword [ebp - 0x38], eax
cmp esi, ebx
jae 0x46e70e
cmp byte [esi], 0x29
je 0x46ef8f
mov ecx, 0x9e
jmp 0x46f48a
mov eax, ebx
sub eax, esi
cmp eax, 2
jl 0x46f36a
mov al, byte [edx + 1]
sub al, 0x30
cmp al, 9
ja 0x46f36a
sub cl, 0x30
cmp cl, 9
ja 0x46ef42
or eax, 0xffffffff
jmp 0x46ef48
push dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x44]
push eax
push 0x29
push dword [ebp - 0x40]
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.00476270
add esp, 0x24
test eax, eax
je 0x46f374
mov edx, dword [ebp - 0x14]
mov dword [edx], 0x80210000
jmp 0x46e6d4
inc esi
cmp esi, ebx
jae 0x46f485
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x4c]
dec eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x64], eax
test ecx, ecx
je 0x46e7b5
test byte [ebp - 0x34], 4
je 0x46e7b5
lea eax, [edx - 0x10]
cmp ecx, eax
jne 0x46e7b5
cmp dword [edx - 4], 0xff
cmove edx, ecx
mov dword [ebp - 0x14], edx
mov cl, byte [esi]
mov edi, edx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x68], 1
cmp cl, 0x29
je 0x46e868
cmp cl, 0x30
jb 0x46e7dd
cmp cl, 0x39
jbe 0x46e868
xor eax, eax
movzx edi, cl
mov ebx, esi
mov dword [ebp - 0x38], 0
mov ecx, 0x60
xor edx, edx
cmp edi, ecx
je 0x46e811
inc eax
mov edx, eax
mov dword [ebp - 0x38], eax
mov ecx, dword [edx*4 + 0x53c0d0]
test ecx, ecx
jne 0x46e7f2
mov ecx, 0xb6
jmp 0x46f48a
mov ecx, dword [edx*4 + 0x53bfc4]
test ecx, ecx
je 0x46e807
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x1c]
mov dword [edx], 0x80070000
nop dword [eax + eax]
inc esi
cmp esi, edi
jae 0x46f37f
movzx eax, byte [esi]
cmp eax, ecx
jne 0x46e830
inc esi
cmp esi, edi
jae 0x46e84c
movzx eax, byte [esi]
cmp eax, ecx
je 0x46e830
mov ecx, dword [ebp - 0x18]
mov eax, esi
sub eax, ebx
mov dword [edx + 0xc], eax
add edx, 0x10
sub ebx, dword [ecx + 0x1c]
mov dword [ebp - 0x44], ebx
mov dword [edx], ebx
mov ebx, edi
mov edi, dword [ebp - 0x4c]
jmp 0x46e8ae
mov dword [edx], 0x80060000
xor ecx, ecx
add edx, 0xc
mov dword [ebp - 0x14], edx
cmp esi, ebx
jae 0x46e8a9
nop word [eax + eax]
mov dl, byte [esi]
lea eax, [edx - 0x30]
cmp al, 9
ja 0x46e8a6
lea ecx, [ecx + ecx*4]
movzx eax, dl
lea ecx, [ecx - 0x18]
inc esi
lea ecx, [eax + ecx*2]
cmp ecx, 0xff
jg 0x46f38b
cmp esi, ebx
jb 0x46e880
mov edx, dword [ebp - 0x14]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x18]
cmp esi, ebx
jae 0x46f395
cmp byte [esi], 0x29
jne 0x46f395
inc esi
mov eax, esi
sub eax, dword [ecx + 0x1c]
add edx, 4
mov dword [edi + 4], eax
mov dword [edi + 8], 0
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
inc esi
mov dword [ebp - 0x10], esi
cmp esi, ebx
jae 0x46f485
mov edi, dword [ebp - 0x20]
mov al, byte [esi]
inc edi
mov dword [ebp - 0x20], edi
cmp al, 0x3f
je 0x46ec06
cmp al, 0x2a
je 0x46ec06
mov edi, dword [ebp - 0x18]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x38]
push eax
push 0xa1
push 0xffff
push dword [edi + 0x74]
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.004765b0
add esp, 0x1c
test eax, eax
je 0x46e95b
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x10]
test ecx, ecx
jle 0x46f39f
mov edx, dword [ebp - 0x14]
mov eax, esi
mov dword [edx], 0x80120000
sub eax, dword [edi + 0x1c]
sub eax, 2
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
add edx, 8
mov dword [ebp - 0x44], eax
jmp 0x46ebe3
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x46f304
mov ecx, ebx
mov ebx, dword [ebp - 0x10]
sub ecx, ebx
mov dword [ebp - 8], ecx
cmp ecx, 0xa
jl 0x46ea95
mov edx, str.VERSION
mov edi, ebx
mov esi, 7
sub edi, edx
mov cl, byte [edi + edx]
lea edx, [edx + 1]
mov al, byte [edx - 1]
cmp cl, al
jne 0x46ea92
sub esi, 1
jne 0x46e987
cmp byte [ebx + 7], 0x29
lea esi, [ebx + 7]
je 0x46ea92
xor ebx, ebx
xor edi, edi
cmp byte [esi], 0x3e
mov eax, esi
mov dword [ebp - 8], ebx
jne 0x46e9be
inc esi
lea ebx, [edi + 1]
mov eax, esi
cmp byte [esi], 0x3d
jne 0x46f3a9
lea esi, [eax + 1]
mov al, byte [esi]
mov dword [ebp - 0x10], esi
cmp al, 0x30
jb 0x46f3a9
cmp al, 0x39
ja 0x46f3a9
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 8]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
push dword [ebp - 0x1c]
lea eax, [ebp - 0x10]
push eax
call fcn.004765b0
add esp, 0x1c
test eax, eax
je 0x46f374
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
cmp esi, ecx
jae 0x46f3a9
cmp byte [esi], 0x2e
jne 0x46ea74
inc esi
cmp esi, ecx
jae 0x46f3a9
mov al, byte [esi]
cmp al, 0x30
jb 0x46f3a9
cmp al, 0x39
ja 0x46f3a9
movzx eax, al
inc esi
sub eax, 0x30
lea edi, [eax + eax*4]
add edi, edi
cmp esi, ecx
jae 0x46f3a9
mov al, byte [esi]
cmp al, 0x30
jb 0x46ea6b
cmp al, 0x39
ja 0x46ea6b
movzx eax, al
add eax, 0xffffffd0
add edi, eax
lea eax, [esi + 1]
mov esi, eax
cmp eax, ecx
jae 0x46f3a9
cmp byte [esi], 0x29
jne 0x46f3a9
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov dword [edx], 0x80150000
mov dword [edx + 4], ebx
mov ebx, ecx
mov dword [edx + 8], eax
add edx, 0xc
mov dword [edx], edi
jmp 0x46ebe3
mov ecx, dword [ebp - 8]
mov al, byte [ebx]
xor edi, edi
cmp al, 0x52
jne 0x46eab5
cmp ecx, 1
jle 0x46eacb
cmp byte [ebx + 1], 0x26
lea eax, [ebx + 1]
jne 0x46eacb
mov edi, 1
mov dword [ebp - 0x10], eax
jmp 0x46eacf
cmp al, 0x3c
jne 0x46eac0
mov esi, 0x3e
jmp 0x46ead4
cmp al, 0x27
jne 0x46eacb
mov esi, 0x27
jmp 0x46ead4
dec ebx
mov dword [ebp - 0x10], ebx
mov esi, 0x29
push dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x44]
push eax
push esi
push dword [ebp - 0x40]
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.00476270
add esp, 0x24
test eax, eax
je 0x46f374
test edi, edi
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 8], edi
je 0x46eb1f
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
dec esi
mov dword [edx], 0x80130000
jmp 0x46ebcd
cmp esi, 0x29
jne 0x46ebc1
mov ebx, dword [ebp - 0x50]
cmp edi, 6
jne 0x46eb6b
mov edx, str.DEFINE
mov edi, ebx
mov esi, 6
sub edi, edx
nop
mov cl, byte [edi + edx]
lea edx, [edx + 1]
mov al, byte [edx - 1]
cmp cl, al
jne 0x46eb68
sub esi, 1
jne 0x46eb40
mov edx, dword [ebp - 0x14]
mov eax, 0x80100000
mov edi, dword [ebp - 8]
mov ebx, dword [ebp - 0x1c]
mov dword [edx], eax
mov esi, dword [ebp - 0x10]
dec esi
jmp 0x46ebcd
mov edi, dword [ebp - 8]
mov eax, 1
mov dword [ebp - 0x38], 1
cmp edi, eax
jle 0x46eba0
mov esi, eax
mov edx, eax
mov ecx, eax
mov cl, byte [ecx + ebx]
cmp cl, 0x30
jb 0x46eba0
mov eax, edx
cmp cl, 0x39
ja 0x46eba0
lea eax, [esi + 1]
mov ecx, eax
mov dword [ebp - 0x38], eax
mov esi, eax
mov edx, eax
cmp ecx, edi
jl 0x46eb81
cmp byte [ebx], 0x52
jne 0x46ebae
cmp eax, edi
mov eax, 0x80140000
jge 0x46ebb3
mov eax, 0x80110000
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x1c]
mov dword [edx], eax
mov esi, dword [ebp - 0x10]
dec esi
jmp 0x46ebcd
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov dword [edx], 0x80110000
mov eax, dword [edx]
add edx, 4
cmp eax, 0x80100000
je 0x46ebde
mov dword [edx], edi
add edx, 4
mov eax, dword [ebp - 0x44]
mov dword [edx], eax
cmp esi, ebx
jae 0x46f3b3
cmp byte [esi], 0x29
jne 0x46f3b3
mov ecx, dword [ebp - 0x18]
inc esi
mov edi, dword [ebp - 0x20]
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov eax, dword [ebp - 0x14]
mov esi, edx
mov dword [ebp - 0x64], 2
mov dword [eax], 0x800f0000
add eax, 4
mov dword [ebp - 0x14], eax
mov edx, eax
jmp 0x46cccf
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x20], edi
mov dword [edx], 0x80020000
add edx, 4
mov dword [ebp - 0x14], edx
inc esi
jmp 0x46cccf
mov edx, dword [ebp - 0x14]
inc esi
mov edi, dword [ebp - 0x24]
mov dword [edx], 0x80230000
jmp 0x46ece2
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
inc esi
mov dword [edx], 0x80230000
jmp 0x46ece2
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
inc esi
mov dword [edx], 0x80270000
jmp 0x46ece2
mov edi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
inc esi
mov dword [edx], 0x80240000
jmp 0x46ece2
mov eax, ebx
sub eax, esi
cmp eax, 1
jle 0x46e684
mov al, byte [edx + 1]
cmp al, 0x3d
je 0x46ecb4
cmp al, 0x21
je 0x46eca3
cmp al, 0x2a
jne 0x46e684
cmp al, 0x21
mov edx, 0x80280000
mov eax, 0x80260000
cmove edx, eax
jmp 0x46ecb9
mov edx, 0x80250000
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 4]
mov dword [eax], edx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x18]
mov dword [eax], 1
mov eax, esi
sub eax, dword [edx + 0x1c]
mov edx, ecx
sub eax, 2
add esi, 2
mov dword [ebp - 0x44], eax
mov dword [ecx], eax
mov ecx, dword [ebp - 0x20]
add edx, 4
inc ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x20], ecx
test edi, edi
jle 0x46d7c8
mov edi, dword [ebp - 0x48]
test edi, edi
jne 0x46ed09
mov eax, dword [ebp - 0x18]
mov edi, dword [eax + 0x14]
mov dword [ebp - 0x48], edi
jmp 0x46ed18
add edi, 0xc
mov dword [ebp - 0x48], edi
cmp edi, dword [ebp - 0x6c]
jae 0x46f419
mov eax, 2
mov word [edi], cx
mov ecx, dword [ebp - 0x18]
mov word [edi + 6], ax
mov eax, dword [ebp - 0x34]
and eax, 0x10424e8
mov dword [edi + 8], eax
mov edi, dword [ebp - 0x20]
jmp 0x46ccd2
mov eax, 0x27
mov edi, dword [ebp - 0x18]
lea ecx, [ebp - 0x2c]
push edi
push ecx
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x44]
push ecx
push eax
push dword [ebp - 0x40]
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.00476270
add esp, 0x24
test eax, eax
je 0x46f374
mov eax, dword [edi + 0x74]
cmp eax, 0xffff
jae 0x46f3f1
mov ecx, dword [ebp - 0x14]
inc eax
inc dword [ebp - 0x20]
mov dword [edi + 0x74], eax
or eax, 0x80080000
mov dword [ecx], eax
add ecx, 4
movzx edx, word [edi + 0x58]
mov eax, 0x2710
mov dword [ebp - 0x14], ecx
cmp dx, ax
jae 0x46f3e4
mov esi, dword [ebp - 0x3c]
movzx eax, word [edi + 0x5a]
lea ecx, [esi + 3]
cmp ecx, eax
jbe 0x46edb8
lea eax, [esi + 3]
mov word [edi + 0x5a], ax
mov ebx, dword [edi + 0x64]
xor eax, eax
xor edi, edi
mov dword [ebp - 8], 0
mov dword [ebp - 0x38], edi
cmp ax, dx
jae 0x46ee45
nop
movzx eax, word [ebx + 8]
cmp esi, eax
jne 0x46ee24
mov edx, dword [ebx]
test esi, esi
je 0x46edf8
mov edi, dword [ebp - 0x50]
sub edi, edx
mov cl, byte [edi + edx]
lea edx, [edx + 1]
mov al, byte [edx - 1]
cmp cl, al
jne 0x46ee21
sub esi, 1
jne 0x46ede3
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x18]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x74]
je 0x46ee48
test byte [ebp - 0x34], 0x40
je 0x46f3bd
mov eax, 1
mov word [ebx + 0xa], ax
mov dword [ebp - 8], eax
mov dword [esi + 0xb8], eax
jmp 0x46ee33
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x18]
mov eax, dword [ebx + 4]
cmp eax, dword [esi + 0x74]
je 0x46f3ca
movzx eax, word [esi + 0x58]
inc edi
mov esi, dword [ebp - 0x3c]
add ebx, 0xc
mov dword [ebp - 0x38], edi
cmp edi, eax
jl 0x46edd0
mov esi, dword [ebp - 0x18]
movzx ecx, word [esi + 0x58]
cmp edi, ecx
jge 0x46ee64
mov ebx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
jmp 0x46ccd2
mov eax, dword [esi + 0x68]
cmp ecx, eax
jb 0x46eec2
mov ecx, dword [esi]
lea edi, [eax + eax]
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 0x46f3d7
mov ebx, dword [ebp - 0x18]
mov ecx, dword [ebx + 0x68]
lea ecx, [ecx + ecx*2]
shl ecx, 2
push ecx
push dword [ebx + 0x64]
push esi
call fcn.004d6030
add esp, 0xc
cmp dword [ebx + 0x68], 0x14
jbe 0x46eeba
mov eax, dword [ebx]
push dword [eax + 8]
mov eax, dword [eax + 4]
push dword [ebx + 0x64]
call eax
add esp, 8
mov dword [ebx + 0x64], esi
mov esi, ebx
mov dword [esi + 0x68], edi
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov dword [eax + ecx*4], edx
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 0x3c]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + ecx*4 + 8], dx
movzx eax, word [esi + 0x58]
mov ecx, dword [esi + 0x64]
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [esi + 0x58]
mov edx, dword [ebp - 8]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x64]
mov word [eax + ecx*4 + 0xa], dx
inc word [esi + 0x58]
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
jmp 0x46ccd2
cmp cl, 0x2d
jne 0x46efbd
mov eax, ebx
sub eax, esi
cmp eax, 1
jle 0x46efbd
mov al, byte [edx + 1]
sub al, 0x30
cmp al, 9
ja 0x46efbd
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x74]
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x38]
push ecx
push 0xa1
push 0xffff
push eax
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.004765b0
add esp, 0x1c
test eax, eax
je 0x46f374
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x10]
test eax, eax
js 0x46f3fe
cmp esi, ebx
jae 0x46f485
cmp byte [esi], 0x29
jne 0x46f485
mov edx, dword [ebp - 0x14]
or eax, 0x80200000
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x30], 1
mov dword [edx], eax
mov eax, esi
sub eax, dword [ecx + 0x1c]
inc esi
mov dword [edx + 4], eax
add edx, 8
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x20], eax
test edi, edi
jne 0x46efd6
mov ecx, dword [ebp - 0x18]
mov edi, dword [ecx + 0x14]
mov dword [ebp - 0x48], edi
jmp 0x46efe8
add edi, 0xc
mov dword [ebp - 0x48], edi
cmp edi, dword [ebp - 0x6c]
jae 0x46f419
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x34]
mov word [edi], ax
xor eax, eax
mov word [edi + 6], ax
mov eax, edx
and eax, 0x10424e8
mov dword [edi + 8], eax
cmp byte [esi], 0x7c
jne 0x46f03b
movzx eax, word [ecx + 0x74]
mov edx, dword [ebp - 0x14]
mov word [edi + 2], ax
movzx eax, word [ecx + 0x74]
mov word [edi + 4], ax
mov eax, 1
mov word [edi + 6], ax
or dword [ecx + 0x70], 0x200000
mov edi, dword [ebp - 0x20]
mov dword [edx], 0x801a0000
add edx, 4
mov dword [ebp - 0x14], edx
inc esi
jmp 0x46ccd2
xor eax, eax
mov dword [ebp - 0x24], edx
mov dword [edi + 2], eax
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edi
mov ebx, 1
cmp esi, eax
jae 0x46f122
cmp byte [esi], 0x5e
jne 0x46f06f
and dword [ebp - 0x34], 0xfeffdb57
xor ebx, ebx
inc esi
cmp esi, eax
jae 0x46f122
mov edi, eax
nop dword [eax]
mov al, byte [esi]
cmp al, 0x29
je 0x46f11c
cmp al, 0x3a
je 0x46f11c
movzx eax, al
inc esi
sub eax, 0x2d
cmp eax, 0x4b
ja case.0x46f0a9.46
movzx eax, byte [eax + 0x46f6b4]
jmp dword [eax*4 + 0x46f690]
test ebx, ebx
je 0x46f409
lea edx, [ebp - 0xc]
xor ebx, ebx
jmp 0x46f112
mov eax, dword [ebp - 0x18]
or dword [edx], 0x40
or dword [eax + 0x70], 0x400
jmp 0x46f112
or dword [edx], 8
jmp 0x46f112
or dword [edx], 0x400
jmp 0x46f112
or dword [edx], 0x2000
jmp 0x46f112
or dword [edx], 0x20
jmp 0x46f112
or dword [edx], 0x40000
jmp 0x46f112
mov ecx, dword [edx]
mov eax, esi
or ecx, 0x80
mov dword [edx], ecx
cmp esi, edi
jae 0x46f114
cmp byte [esi], 0x78
jne 0x46f080
or ecx, 0x1000000
inc esi
mov dword [edx], ecx
mov eax, esi
cmp eax, edi
jb 0x46f080
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov eax, edi
and eax, 0x1000080
cmp eax, 0x80
je 0x46f134
test cl, cl
jns 0x46f13a
or ecx, 0x1000000
or edi, dword [ebp - 0x34]
not ecx
mov ebx, dword [ebp - 0x1c]
and edi, ecx
mov dword [ebp - 0x34], edi
cmp esi, ebx
jae 0x46f485
mov al, byte [esi]
inc esi
mov ecx, dword [ebp - 0x18]
cmp al, 0x29
jne 0x46f186
mov eax, dword [ebp - 0x98]
mov edi, dword [ebp - 0x48]
movzx edx, ax
mov dword [ebp - 0x20], edx
cmp edi, dword [ecx + 0x14]
jbe 0x46f17e
cmp word [edi - 0xc], dx
lea eax, [edi - 0xc]
jne 0x46f17e
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x48], eax
jmp 0x46f195
mov word [edi], dx
mov edx, dword [ebp - 0x14]
jmp 0x46f195
mov edx, dword [ebp - 0x14]
mov dword [edx], 0x801a0000
add edx, 4
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x24]
je 0x46ccd2
mov dword [edx], 0x801b0000
mov dword [edx + 4], eax
add edx, 8
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov edi, dword [ebp - 0x48]
test edi, edi
je 0x46f1eb
mov ecx, dword [ebp - 0x20]
cmp word [edi], cx
jne 0x46f1eb
test byte [edi + 6], 1
je 0x46f1eb
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x74]
movzx eax, word [edi + 4]
cmp ecx, eax
jbe 0x46f1df
mov word [edi + 4], cx
mov ecx, dword [ebp - 0x18]
movzx eax, word [edi + 2]
mov dword [ecx + 0x74], eax
jmp 0x46f1ee
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
mov dword [edx], 0x80010000
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x30], 1
test edi, edi
je 0x46f27b
mov ecx, dword [ebp - 0x20]
cmp word [edi], cx
jne 0x46f27b
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x18]
and eax, 0xfefbdb17
or eax, dword [edi + 8]
test byte [edi + 6], 1
mov dword [ebp - 0x34], eax
je 0x46f241
movzx eax, word [edi + 4]
cmp eax, dword [ecx + 0x74]
jbe 0x46f241
mov dword [ecx + 0x74], eax
movzx eax, word [edi + 6]
mov edx, eax
not edx
shr edx, 1
and edx, 1
mov dword [ebp - 0x30], edx
test al, 4
je 0x46f264
mov eax, dword [ebp - 0x14]
mov dword [eax], 0x80190000
add eax, 4
mov dword [ebp - 0x14], eax
cmp edi, dword [ecx + 0x14]
jne 0x46f270
xor edx, edx
mov dword [ebp - 0x48], edx
jmp 0x46f27e
sub edi, 0xc
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x48], edi
jmp 0x46f27e
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
test di, di
je 0x46f420
mov edx, dword [ebp - 0x14]
add edi, 0xffff
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], edi
mov dword [edx], 0x80190000
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x46ccd2
mov ecx, 0x8c
jmp 0x46f48a
dec esi
mov ecx, 0xb0
jmp 0x46f48a
mov ecx, 0x76
jmp 0x46f48a
mov ecx, 0x6d
dec esi
jmp 0x46f48a
mov al, byte [esi]
xor ecx, ecx
dec esi
cmp al, 0x3a
setne cl
add ecx, 0x70
jmp 0x46f48a
mov ecx, 0x71
dec esi
jmp 0x46f48a
mov esi, dword [ebp - 0x10]
mov ecx, 0x6b
dec esi
jmp 0x46f48a
mov ecx, 0xab
mov esi, dword [ebp - 0x10]
jmp 0x46f48a
mov esi, dword [ebp - 0x10]
mov ecx, 0x96
jmp 0x46f48a
mov ecx, 0x6c
dec esi
jmp 0x46f48a
mov ecx, 0x6a
jmp 0x46f48a
cmp edx, 0x80270000
je 0x46f342
cmp edx, 0x80280000
jne 0x46d1df
mov ecx, 0xc6
jmp 0x46f48a
mov ecx, 0xbd
jmp 0x46f48a
mov ecx, 0xa6
jmp 0x46f48a
mov ecx, 0x8d
jmp 0x46f48a
mov ecx, 0x81
jmp 0x46f48a
mov ecx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x10]
jmp 0x46f48a
mov ecx, 0xb5
mov esi, ebx
jmp 0x46f48a
mov ecx, 0x8a
jmp 0x46f48a
mov ecx, 0x8b
jmp 0x46f48a
mov ecx, 0x73
jmp 0x46f48a
mov ecx, 0xb3
jmp 0x46f48a
mov ecx, 0x7c
jmp 0x46f48a
mov esi, dword [ebp - 0x10]
mov ecx, 0x8f
jmp 0x46f48a
mov esi, dword [ebp - 0x10]
mov ecx, 0xa5
jmp 0x46f48a
mov esi, dword [ebp - 0x10]
mov ecx, 0x79
jmp 0x46f48a
mov esi, dword [ebp - 0x10]
mov ecx, 0x95
jmp 0x46f48a
mov esi, dword [ebp - 0x10]
mov ecx, 0xc5
jmp 0x46f48a
mov ecx, 0x73
dec esi
jmp 0x46f48a
mov ecx, 0xc2
dec esi
jmp 0x46f48a
mov ecx, 0x6f
dec esi
jmp 0x46f48a
mov ecx, 0xb8
jmp 0x46f48a
mov ecx, 0x7a
dec esi
jmp 0x46f48a
mov ecx, 0x77
jmp 0x46f48a
cmp dword [ebp - 0x70], 0
je 0x46cc16
mov ecx, 0xa0
jmp 0x46f48a
test byte [ebp - 0x74], 4
je 0x46f456
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [ebp - 0x8c]
jb 0x46f465
mov ecx, 0xa3
jmp 0x46f48a
cmp word [ebp - 0x20], 0
mov dword [ecx], 0x80000000
jne 0x46f485
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d3b35
mov esp, ebp
pop ebp
ret
mov ecx, 0x72
mov eax, dword [ebp - 0x18]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.004d3b35
mov esp, ebp
pop ebp
ret