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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
mov ecx, dword [ebp + 0xc]
xor eax, eax
push ebx
mov ebx, dword [ebp + 0x14]
push esi
mov dword [ebp - 0x88], eax
mov esi, ecx
mov dword [ebp - 0x78], eax
mov edx, dword [ebx + 0x78]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 0x7c]
shr esi, 0x13
mov dword [ebp - 0x84], eax
and esi, 1
xor eax, eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x54], eax
mov esi, ecx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebx]
push edi
xor edi, edi
shr esi, 2
and esi, 1
mov dword [ebp - 0x68], edi
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x1c], edi
mov edi, dword [ebx + 0x20]
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 8], 0
mov dword [ebp - 0x70], esi
mov dword [ebp - 4], edi
mov dword [ebp - 0x74], 0
test al, 8
je 0x435c5a
mov dword [edx], 0x80090000
jmp 0x435c64
test al, 4
je 0x435c71
mov dword [edx], 0x80180005
mov dword [edx + 4], 0x801a0000
add edx, 8
mov dword [ebp + 0xc], edx
test ecx, 0x2000000
je 0x435e70
mov esi, dword [ebp + 8]
cmp esi, edi
jae 0x435e04
nop dword [eax + eax]
cmp edx, dword [ebp - 0x84]
jae 0x438909
cmp dword [ebp - 0x40], 0
mov edi, esi
movzx edx, byte [esi]
mov dword [ebp - 0x74], edi
lea esi, [edi + 1]
je 0x435d83
cmp edx, 0xc0
jb 0x435d83
test dl, 0x20
jne 0x435cd6
movzx eax, byte [esi]
and edx, 0x1f
and eax, 0x3f
shl edx, 6
or edx, eax
inc esi
jmp 0x435d83
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 0x10
jne 0x435cfd
and edx, 0xf
shl edx, 6
or edx, ecx
shl edx, 6
or edx, eax
add esi, 2
jmp 0x435d83
test dl, 8
jne 0x435d20
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 0x435d83
test dl, 4
jne 0x435d4f
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 0x435d83
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
cmp dword [ebp - 0x70], 0
je 0x435dea
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x48]
add ecx, 0x1c
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x435dc1
mov eax, edi
mov edi, dword [ebp - 0x48]
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 - 0x74]
jne 0x435dc1
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0xc], 0xff
je 0x435dde
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x48], 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 dword [ebp + 0xc], eax
jmp 0x435ded
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov edx, dword [ebp + 0xc]
add edx, 4
mov dword [ebp + 0xc], edx
cmp esi, dword [ebp - 4]
jb 0x435c90
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebp - 0x48]
mov ecx, edx
test edi, edi
je 0x435e18
mov eax, esi
sub eax, dword [edi + 4]
sub eax, dword [ebx + 0x1c]
mov dword [edi + 8], eax
cmp dword [ebp - 0x70], 0
je 0x435e53
test edi, edi
je 0x435e32
lea eax, [edx - 0x10]
cmp edi, eax
jne 0x435e32
cmp dword [edi + 0xc], 0xff
je 0x435e4b
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
mov eax, dword [ebp - 0x34]
test al, 8
je 0x4388ed
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80160000
jmp 0x4388fe
mov eax, dword [ebx + 0x28]
mov esi, ecx
and eax, 0xfffffff0
mov dword [ebp - 0x28], 0
add eax, dword [ebx + 0x14]
or esi, 0x80
mov dword [ebp - 0x80], eax
test ecx, 0x1000000
mov eax, esi
mov dword [ebp - 0x18], esi
mov esi, dword [ebp + 8]
cmove eax, ecx
mov dword [ebp - 0x18], eax
xor ecx, ecx
jmp 0x435eb0
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 8]
nop
movzx eax, cx
mov dword [ebp - 0xa0], eax
cmp esi, edi
jae 0x4388cc
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
cmp edx, dword [ebp - 0x84]
jae 0x438909
mov ecx, dword [ebx]
mov eax, dword [ebp - 8]
movzx eax, ax
cmp eax, dword [ecx + 0x24]
ja 0x4388b5
mov ecx, dword [ebp - 0x3c]
mov edi, esi
movzx ebx, byte [esi]
cmp ecx, edx
mov eax, ecx
mov dword [ebp - 0xc], ebx
cmove eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
lea esi, [edi + 1]
mov eax, edx
mov dword [ebp + 8], esi
cmove eax, ecx
cmp dword [ebp - 0x40], 0
mov edx, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], edx
mov ecx, ebx
mov eax, esi
je 0x435ffd
cmp ebx, 0xc0
jb 0x435ffd
movzx ecx, byte [esi]
and ecx, 0x3f
test bl, 0x20
jne 0x435f4c
mov eax, ebx
mov ebx, ecx
and eax, 0x1f
shl eax, 6
or ebx, eax
inc esi
jmp 0x435ff3
movzx eax, byte [esi + 1]
and eax, 0x3f
test bl, 0x10
jne 0x435f6d
and ebx, 0xf
shl ebx, 6
or ebx, ecx
shl ebx, 6
or ebx, eax
add esi, 2
jmp 0x435ff3
test bl, 8
jne 0x435f90
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 0x435ff3
test bl, 4
jne 0x435fbf
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 0x435ff3
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 - 0xc], ebx
mov eax, esi
mov dword [ebp + 8], esi
mov ecx, ebx
cmp dword [ebp - 0x50], 0
je 0x436096
cmp ecx, 0x5c
jne 0x43602c
cmp eax, dword [ebp - 4]
jae 0x43602c
cmp byte [esi], 0x45
jne 0x43602c
mov ecx, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x30], ecx
jmp 0x435ea3
cmp dword [ebp - 0x60], 0
jg case.0x43649e.34
cmp dword [ebp - 0x6c], 0
je 0x436041
mov eax, dword [ebp + 0xc]
jmp 0x436079
mov ecx, dword [ebp - 0x68]
mov eax, ecx
dec ecx
mov dword [ebp - 0x68], ecx
test eax, eax
jg 0x43606f
push dword [ebp + 0x14]
lea eax, [ebp - 0x64]
push dword [ebp + 0xc]
push dword [ebp - 0x70]
push eax
push edi
call fcn.00435b40
mov ecx, dword [ebp - 0x64]
add esp, 0x14
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x48], ecx
jmp 0x436072
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], 1
mov dword [eax], ebx
add eax, 4
mov dword [ebp - 0x54], 0
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x30], ecx
jmp 0x435ea3
cmp dword [ebp - 0x6c], 0
je 0x436215
mov eax, dword [ebp - 0x18]
and eax, 0x400080
cmp eax, 0x400080
jne 0x4360fb
cmp ecx, 0xff
jbe 0x4360ca
mov eax, ebx
or eax, 1
cmp eax, 0x200f
je 0x4360ca
cmp eax, 0x2029
jne 0x4360fb
cmp ebx, 0x100
jae 0x436215
cmp ebx, 0x23
je 0x436215
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x436215
cmp ebx, 0x85
je 0x436215
cmp ebx, 0x29
je 0x4361c2
cmp ebx, 0x5c
je 0x436116
mov edx, dword [ebp + 0xc]
mov dword [edx], ebx
add edx, 4
jmp 0x4361fe
mov eax, dword [ebp - 0x18]
test eax, 0x400000
je 0x436109
mov ebx, dword [ebp + 0x14]
push ebx
push 0
push dword [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 4]
lea eax, [ebp + 8]
push eax
call fcn.0042f670
mov ecx, dword [ebp - 0x14]
add esp, 0x20
test ecx, ecx
jne 0x438580
cmp eax, 0x1d
ja case.0x43615c.1
movzx eax, byte [eax + 0x438964]
jmp dword [eax*4 + 0x438950]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x30]
mov dword [edx], 0x75
mov dword [edx + 4], 0x7b
add edx, 8
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x30], ecx
jmp 0x435ea9
mov dword [ebp - 0x50], 1
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
jmp 0x435ea9
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp + 8]
mov dword [edx], ebx
add edx, 4
jmp 0x4361fe
mov eax, esi
mov dword [ebp - 0x6c], 0
sub eax, dword [ebp - 0x74]
dec eax
cmp eax, 0xff
jg 0x438595
mov edx, dword [ebp + 0xc]
mov eax, edx
mov ecx, dword [ebp - 0x88]
sub eax, ecx
sar eax, 2
dec eax
mov dword [ecx], eax
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x436201
mov dword [edx], eax
add edx, 4
xor eax, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp + 0xc], edx
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
jmp 0x435ea9
mov ecx, dword [ebp - 4]
cmp ebx, 0x5c
jne 0x436241
cmp esi, ecx
jae 0x436241
mov al, byte [esi]
cmp al, 0x51
je 0x43622b
cmp al, 0x45
jne 0x436241
xor ecx, ecx
cmp al, 0x51
sete cl
inc esi
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
jmp 0x435ea3
test byte [ebp - 0x18], 0x80
je 0x436379
cmp ebx, 0x100
jae 0x436269
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
test byte [ebx + eax], 1
jne 0x435ea3
cmp ebx, 0x85
je 0x436088
mov eax, ebx
or eax, 1
cmp eax, 0x200f
je 0x436088
cmp eax, 0x2029
je 0x436088
cmp ebx, 0x23
jne 0x436379
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x14]
cmp esi, edi
jae 0x4362ec
nop dword [eax]
nop word [eax + eax]
mov ecx, dword [ebx + 0x8c]
lea edi, [ebx + 0x90]
mov eax, dword [ebx + 0x20]
test ecx, ecx
je 0x436300
cmp esi, eax
jae 0x4362e1
push dword [ebp - 0x40]
push edi
push eax
push ecx
push esi
call fcn.00458390
add esp, 0x14
test eax, eax
je 0x4362e1
mov eax, 1
jmp 0x4362e3
xor eax, eax
test eax, eax
je 0x436322
add esi, dword [edi]
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
jmp 0x435eac
mov ecx, dword [edi]
sub eax, ecx
cmp esi, eax
ja 0x436322
mov al, byte [esi]
cmp al, byte [ebx + 0x9c]
jne 0x436322
cmp ecx, 1
je 0x4362e7
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x9d]
je 0x4362e7
mov edi, dword [ebp - 4]
inc esi
cmp dword [ebp - 0x40], 0
mov eax, esi
je 0x43635d
cmp esi, edi
jae 0x43635d
mov ecx, esi
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x4362b0
lea esi, [ecx + 1]
mov ecx, esi
cmp esi, edi
jb 0x436334
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
jmp 0x435eac
cmp eax, edi
jb 0x4362b0
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
jmp 0x435eac
cmp ebx, 0x28
jne 0x4363c0
mov eax, ecx
sub eax, esi
cmp eax, 2
jl 0x4363c0
cmp byte [esi], 0x3f
jne 0x4363c0
cmp byte [esi + 1], 0x23
jne 0x4363c0
mov edi, dword [ebp - 4]
inc esi
cmp esi, edi
jae 0x4385ad
cmp byte [esi], 0x29
jne 0x436395
cmp esi, edi
jae 0x4385ad
mov ecx, dword [ebp - 0x30]
inc esi
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x30], ecx
jmp 0x435eac
mov dword [ebp - 0x3c], edx
cmp ebx, 0x2a
je 0x436431
mov dword [ebp - 0x3c], edx
cmp ebx, 0x2b
je 0x436431
mov dword [ebp - 0x3c], edx
cmp ebx, 0x3f
je 0x436431
cmp ebx, 0x7b
jne 0x4363ff
lea eax, [ebp - 0x14]
mov dword [ebp - 0x58], esi
push eax
push 0
push 0
push ecx
lea eax, [ebp - 0x58]
mov dword [ebp - 0x3c], edx
push eax
call fcn.0043a5b0
add esp, 0x14
test eax, eax
jne 0x436431
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x68]
mov eax, ecx
dec ecx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x68], ecx
test eax, eax
jg 0x436431
push dword [ebp + 0x14]
lea eax, [ebp - 0x64]
push dword [ebp + 0xc]
push dword [ebp - 0x70]
push eax
push edi
call fcn.00435b40
mov dword [ebp + 0xc], eax
add esp, 0x14
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x60]
test ecx, ecx
jle case.0x43649e.33
cmp ebx, 0x28
jne case.0x43649e.34
mov eax, dword [ebp - 4]
sub eax, esi
cmp eax, 3
jl case.0x43649e.34
mov al, byte [esi]
cmp al, 0x3f
je 0x43646d
cmp al, 0x2a
je 0x436472
dec esi
mov eax, dword [ebp + 0x14]
mov ecx, 0x80
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi], 0x2a
jne 0x43648b
mov eax, dword [ebp + 0x14]
movzx ecx, byte [esi + 1]
mov eax, dword [eax + 0x10]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp - 0x60]
shr eax, 2
and eax, 1
jmp 0x4364bf
movzx eax, byte [esi + 1]
add eax, 0xffffffdf
cmp eax, 0x22
ja case.0x43649e.34
movzx eax, byte [eax + 0x438994]
jmp dword [eax*4 + 0x438984]
xor eax, eax
cmp ecx, 2
sete al
jmp 0x4364bf
mov al, byte [esi + 2]
cmp al, 0x3d
je 0x4364ba
cmp al, 0x21
jne case.0x43649e.34
mov eax, 1
test eax, eax
je case.0x43649e.34
mov eax, dword [ebp - 0x54]
mov edx, eax
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x54], 0
test eax, eax
je 0x436526
cmp ebx, 0x3f
je 0x4364f1
cmp ebx, 0x2b
jne 0x436526
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 + 0xc]
setne al
lea eax, [eax*8 - 0xc]
mov dword [eax + edx], ecx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
jmp 0x435ea6
lea eax, [ebx - 0x24]
cmp eax, 0x58
ja case.0x436539.37
movzx eax, byte [eax + 0x4389ec]
jmp dword [eax*4 + 0x4389b8]
mov ebx, dword [ebp + 0x14]
lea eax, [ebp - 0x14]
push ebx
push 0
mov dword [ebp - 0x58], esi
mov esi, dword [ebp - 0x34]
push esi
push dword [ebp - 0x18]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 4]
lea eax, [ebp + 8]
push eax
call fcn.0042f670
mov ecx, dword [ebp - 0x14]
add esp, 0x20
mov edi, eax
test ecx, ecx
jne 0x436779
test edi, edi
je 0x43686a
js 0x436802
lea eax, [edi - 6]
cmp eax, 0x17
ja case.0x436595.13
movzx eax, byte [eax + 0x438a64]
jmp dword [eax*4 + 0x438a48]
test dword [ebp - 0x18], 0x100000
mov esi, dword [ebp + 8]
je 0x4365b5
mov ecx, 0xb7
mov dword [ebp - 0x14], ecx
jmp 0x43677c
mov edx, dword [ebp + 0xc]
lea eax, [edi - 0x7fe80000]
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
mov dword [edx], eax
add edx, 4
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
push ebx
lea eax, [ebp - 0x14]
mov dword [ebp - 0x24], 0
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004353b0
add esp, 0x18
test eax, eax
je 0x436776
cmp dword [ebp - 0x98], 0
je 0x436628
xor eax, eax
cmp edi, 0xf
sete al
lea edi, [eax + 0xf]
mov edx, dword [ebp + 0xc]
lea eax, [edi - 0x7fe80000]
movzx ecx, word [ebp - 0x24]
shl ecx, 0x10
mov dword [edx], eax
movzx eax, word [ebp - 0x10]
or ecx, eax
mov dword [edx + 4], ecx
add edx, 8
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x30]
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 4]
cmp esi, ecx
jae 0x4367a0
mov al, byte [esi]
cmp al, 0x7b
je 0x436684
cmp al, 0x3c
je 0x4366e7
cmp al, 0x27
jne 0x4367a0
cmp al, 0x27
mov ebx, 0x7d
mov eax, 0x27
cmove ebx, eax
cmp edi, 0x1b
jne 0x436705
cmp ebx, 0x7d
je 0x436705
lea eax, [esi + 1]
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp + 0x14]
push 0xa1
push 0xffff
push dword [eax + 0x70]
lea eax, [ebp - 0x24]
push ecx
push eax
call fcn.0043a460
add esp, 0x1c
test eax, eax
je 0x4366fb
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 4]
cmp ecx, edi
jae 0x4366ee
movzx eax, byte [ecx]
cmp eax, ebx
jne 0x4366ee
mov eax, dword [ebp - 0x38]
mov esi, ecx
jmp 0x43813f
mov ebx, 0x3e
jmp 0x436693
mov ecx, 0x9d
mov dword [ebp - 0x14], ecx
jmp 0x43677f
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x43677c
mov ecx, dword [ebp - 4]
push dword [ebp + 0x14]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x44]
push eax
push ebx
push dword [ebp - 0x40]
lea eax, [ebp + 8]
push ecx
push eax
call fcn.0043a0f0
add esp, 0x24
test eax, eax
je 0x436776
cmp edi, 0x1c
je 0x43673c
mov eax, 0x80210000
cmp ebx, 0x7d
jne 0x436741
mov eax, 0x80040000
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 0x2c]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x44]
mov dword [edx + 8], eax
add edx, 0xc
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 4]
test byte [ebp - 0x34], 2
je 0x43893b
mov eax, dword [ebp - 0x58]
mov esi, eax
cmp eax, edi
jb 0x436878
mov edx, 0x5c
jmp 0x436974
cmp edi, 0x1b
mov ecx, 0xa9
mov eax, 0x9d
cmove ecx, eax
mov dword [ebp - 0x14], ecx
jmp 0x43677c
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x75
mov dword [edx + 4], 0x7b
jmp 0x436643
mov dword [ebp - 0x1c], 1
mov edx, dword [ebp + 0xc]
lea eax, [edi - 0x7fe80000]
mov dword [edx], eax
add edx, 4
jmp 0x43664d
push esi
push dword [ebp - 0x18]
mov dword [ebp - 0x1c], 1
push dword [ebp + 0xc]
push edi
call fcn.004356d0
add esp, 0x10
mov edx, eax
jmp 0x43664d
mov edx, dword [ebp + 0xc]
neg edi
mov esi, dword [ebp + 8]
mov eax, edi
mov ecx, esi
or eax, 0x80030000
sub ecx, dword [ebx + 0x1c]
dec ecx
mov dword [edx], eax
add edx, 4
mov dword [ebp - 0x44], ecx
mov dword [ebp + 0xc], edx
cmp edi, 0xa
jge 0x43684a
cmp dword [ebx + edi*4 + 0x2c], 0xffffffff
jne 0x436852
mov eax, dword [ebp - 0x30]
mov dword [ebx + edi*4 + 0x2c], ecx
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov dword [edx], ecx
add edx, 4
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
jmp 0x436974
cmp dword [ebp - 0x40], 0
lea esi, [eax + 1]
movzx edx, byte [eax]
je 0x436974
cmp edx, 0xc0
jb 0x436974
test dl, 0x20
jne 0x4368ad
movzx eax, byte [esi]
and edx, 0x1f
shl edx, 6
and eax, 0x3f
or edx, eax
inc esi
jmp 0x436974
test dl, 0x10
jne 0x4368d4
movzx eax, byte [esi]
and edx, 0xf
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 2
jmp 0x436974
test dl, 8
jne 0x436904
movzx eax, byte [esi]
and edx, 7
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 1]
shl edx, 6
and eax, 0x3f
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 6
and eax, 0x3f
or edx, eax
add esi, 3
jmp 0x436974
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test dl, 4
jne 0x436940
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 0x436974
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 + 0xc]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
mov dword [eax], edx
mov edx, eax
mov eax, dword [ebp - 0x30]
add edx, 4
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
mov dword [edx], 0x80090000
add edx, 4
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
mov dword [edx], 0x80160000
add edx, 4
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
mov dword [edx], 0x80170000
add edx, 4
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov dword [ebp - 0x54], 0x80340000
jmp 0x436a65
mov dword [ebp - 0x54], 0x80370000
jmp 0x436a65
mov dword [ebp - 0x54], 0x803a0000
jmp 0x436a65
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 4]
lea eax, [ebp + 8]
push eax
call fcn.0043a5b0
add esp, 0x14
test eax, eax
jne 0x436a5b
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x438580
mov edx, dword [ebp + 0xc]
mov dword [edx], ebx
add edx, 4
jmp 0x436755
mov esi, dword [ebp + 8]
mov dword [ebp - 0x54], 0x803d0000
test edi, edi
je 0x4385c4
mov edi, dword [ebp - 0x30]
mov edx, dword [ebp + 0xc]
cmp dword [edi], 0x802a0000
jne 0x436aa1
mov edi, dword [ebp - 0x78]
lea ecx, [edx - 4]
cmp ecx, edi
jb 0x436a91
mov eax, dword [ecx]
mov dword [ecx + 4], eax
sub ecx, 4
cmp ecx, edi
jae 0x436a85
mov dword [edi], 0x801a0000
mov dword [edx + 4], 0x80190000
add edx, 8
mov eax, dword [ebp - 0x54]
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov dword [edx], eax
add edx, 4
cmp ebx, 0x7b
mov dword [ebp + 0xc], edx
mov ebx, dword [ebp + 0x14]
jne 0x438570
mov eax, dword [ebp - 0x24]
mov dword [edx], eax
mov eax, dword [ebp - 0x20]
mov dword [edx + 4], eax
add edx, 8
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov edi, dword [ebp - 4]
mov eax, edi
sub eax, esi
mov dword [ebp - 0x1c], 1
cmp eax, 6
jl 0x436bb2
push 6
push 0x4944c0
push esi
call fcn.004587d0
add esp, 0xc
test eax, eax
je 0x436b1d
push 6
push str._:_:__
push esi
call fcn.004587d0
add esp, 0xc
test eax, eax
jne 0x436bb2
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x80180005
lea eax, [ecx + 8]
cmp byte [esi + 2], 0x3c
jne 0x436b38
mov dword [ecx + 4], 0x80230000
jmp 0x436b51
mov dword [ecx + 4], 0x80250000
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 1
mov dword [eax], 0
add eax, 4
test dword [ebp - 0x18], 0x20000
lea edx, [eax + 4]
jne 0x436b83
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
mov dword [eax], 0x8018000b
mov eax, dword [ebp - 0x30]
mov dword [edx], 0x80190000
add edx, 4
mov dword [ebp + 0xc], edx
add esi, 6
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
mov dword [eax], 0x80180010
mov eax, dword [ebp - 0x30]
mov dword [edx], 0x90000
add edx, 4
mov dword [ebp - 0x30], eax
mov dword [edx], 0x80190000
add edx, 4
mov dword [ebp + 0xc], edx
add esi, 6
jmp 0x435eb0
cmp esi, edi
jae 0x436bda
mov al, byte [esi]
cmp al, 0x3a
je 0x436bc4
cmp al, 0x2e
je 0x436bc4
cmp al, 0x3d
jne 0x436bda
lea eax, [ebp - 0x58]
push eax
push edi
push esi
call fcn.00430d20
add esp, 0xc
test eax, eax
jne 0x4385dc
xor edi, edi
cmp esi, dword [ebp - 4]
jae 0x436d58
movzx ebx, byte [esi]
inc esi
cmp dword [ebp - 0x40], 0
mov eax, ebx
mov dword [ebp - 0xc], ebx
mov ecx, eax
mov dword [ebp + 8], esi
mov edx, esi
je 0x436cf4
cmp ebx, 0xc0
jb 0x436cf4
test al, 0x20
jne 0x436c23
movzx ebx, byte [esi]
and eax, 0x1f
and ebx, 0x3f
shl eax, 6
or ebx, eax
inc esi
jmp 0x436cea
test al, 0x10
jne 0x436c49
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 0x436cea
test al, 8
jne 0x436c78
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 0x436cea
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 4
movzx eax, byte [esi + 1]
jne 0x436cb3
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 0x436cea
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 - 0xc], ebx
mov edx, esi
mov dword [ebp + 8], esi
mov ecx, ebx
cmp ecx, 0x5c
jne 0x436d30
mov eax, dword [ebp - 4]
cmp edx, eax
jae 0x436d0d
cmp byte [esi], 0x45
jne 0x436d0d
lea esi, [edx + 1]
mov dword [ebp + 8], esi
jmp 0x436d4f
sub eax, edx
cmp eax, 3
jl 0x436d58
push 3
push 0x4944d0
push esi
call fcn.004587d0
add esp, 0xc
test eax, eax
jne 0x436d58
add esi, 3
mov dword [ebp + 8], esi
jmp 0x436d4f
test dword [ebp - 0x18], 0x1000000
je 0x436d43
cmp ecx, 0x20
je 0x436d4f
cmp ecx, 9
je 0x436d4f
test edi, edi
jne 0x436d58
cmp ebx, 0x5e
jne 0x436d58
lea edi, [ebx - 0x5d]
cmp esi, dword [ebp - 4]
jb 0x436be5
cmp ebx, 0x5d
jne 0x436d82
mov eax, dword [ebp + 0x14]
test byte [eax + 0x68], 1
je 0x436d82
mov edx, dword [ebp + 0xc]
test edi, edi
mov eax, 0x800b0000
mov ecx, 0x800c0000
cmovne eax, ecx
mov dword [edx], eax
add edx, 4
jmp 0x43675f
test edi, edi
mov dword [ebp - 0x1c], 1
mov ecx, 0x800e0000
mov eax, 0x800a0000
cmovne eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
add ecx, 4
mov eax, dword [ebp - 0x50]
xor edi, edi
mov dword [ebp + 0xc], ecx
mov dword [ebp - 0x10], edi
jmp 0x436db0
mov ecx, dword [ebp + 0xc]
mov edx, 1
test eax, eax
je 0x436e27
cmp ebx, 0x5c
jne 0x437188
cmp esi, dword [ebp - 4]
jae 0x437188
cmp byte [esi], 0x45
jne 0x437188
mov dword [ebp - 0x50], 0
inc esi
mov edx, dword [ebp + 0xc]
cmp esi, dword [ebp - 4]
jae 0x43867a
movzx ebx, byte [esi]
inc esi
cmp dword [ebp - 0x40], 0
mov eax, ebx
mov dword [ebp - 0xc], ebx
mov ecx, eax
mov dword [ebp + 8], esi
je 0x4373bc
cmp eax, 0xc0
jb 0x4373bc
test al, 0x20
jne 0x4372ed
movzx ebx, byte [esi]
and eax, 0x1f
and ebx, 0x3f
shl eax, 6
or ebx, eax
inc esi
jmp 0x4373b4
mov eax, dword [ebp - 0x18]
test eax, 0x1000000
je 0x436e3b
cmp ebx, 0x20
je 0x436ddc
cmp ebx, 9
je 0x436ddc
cmp ebx, 0x5b
jne 0x436fd2
mov eax, dword [ebp - 4]
sub eax, esi
cmp eax, 3
jl 0x437188
mov al, byte [esi]
cmp al, 0x3a
je 0x436e64
cmp al, 0x2e
je 0x436e64
cmp al, 0x3d
jne 0x437188
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 4]
push esi
call fcn.00430d20
add esp, 0xc
test eax, eax
je 0x437185
mov dword [ebp - 0xc], 0
cmp edi, 1
je 0x43864b
cmp byte [esi], 0x3a
jne 0x4385fb
inc esi
mov edx, esi
cmp byte [esi], 0x5e
jne 0x436ea7
inc esi
mov dword [ebp - 0xc], 1
mov edx, esi
mov ecx, dword [ebp - 0x58]
mov ebx, 0x493f40
sub ecx, edx
xor edi, edi
mov dword [ebp - 0x20], ecx
nop word [eax + eax]
movzx eax, byte [edi + 0x494258]
cmp ecx, eax
jne 0x436edf
push ecx
push ebx
push edx
call fcn.004587d0
add esp, 0xc
test eax, eax
je 0x436f0a
mov ecx, dword [ebp - 0x20]
mov edx, esi
movzx eax, byte [edi + 0x494258]
inc ebx
inc edi
add ebx, eax
cmp byte [edi + 0x494258], 0
jne 0x436ec0
mov eax, dword [ebp + 0x14]
mov ecx, 0x82
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
js 0x436ef3
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 4]
add esi, 2
dec eax
cmp esi, eax
jae 0x436f2b
cmp byte [esi], 0x2d
jne 0x436f2b
cmp byte [esi + 1], 0x5d
jne 0x43864b
xor eax, eax
test dword [ebp - 0x18], 0x20000
mov dword [ebp - 0x10], eax
je 0x436fb1
mov eax, dword [ebp - 0x34]
test eax, 0x800
jne 0x436fb1
test eax, 0x1000
je 0x436f54
cmp edi, 7
je 0x436fb1
cmp edi, 0xd
je 0x436fb1
mov eax, dword [edi*8 + 0x4c60e0]
mov ecx, dword [edi*8 + 0x4c60e4]
test eax, eax
js 0x436f8f
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
xor edx, 1
sub edx, 0x7fe7fff1
shl eax, 0x10
mov dword [ebx], edx
or eax, ecx
mov edx, ebx
mov dword [edx + 4], eax
add edx, 8
mov dword [ebp + 0xc], edx
jmp 0x436ddf
test ecx, ecx
je 0x436fb1
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
xor eax, 1
sub eax, 0x7fe7ffee
mov dword [edx], eax
add edx, 4
mov dword [ebp + 0xc], edx
jmp 0x436ddf
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xc]
add eax, 0x801c
shl eax, 0x10
mov dword [edx], eax
mov dword [edx + 4], edi
add edx, 8
mov edi, dword [ebp - 0x10]
mov dword [ebp + 0xc], edx
jmp 0x436ddf
cmp ebx, 0x2d
jne 0x437008
cmp edi, 2
jb 0x437188
mov edx, dword [ebp + 0xc]
cmp edi, 3
mov eax, 0x801e0000
mov ecx, 0x801f0000
cmove eax, ecx
mov edi, 1
mov dword [ebp - 0x10], edi
mov dword [edx], eax
add edx, 4
mov dword [ebp + 0xc], edx
jmp 0x436ddf
cmp ebx, 0x5c
jne 0x437188
push dword [ebp + 0x14]
mov edi, esi
mov dword [ebp - 0x20], esi
push 1
push dword [ebp - 0x34]
mov dword [ebp - 0x58], edi
mov ebx, esi
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 4]
lea eax, [ebp + 8]
push eax
call fcn.0042f670
mov ecx, dword [ebp - 0x14]
add esp, 0x20
mov esi, eax
test ecx, ecx
je 0x437165
test byte [ebp - 0x34], 2
je 0x438580
mov esi, edi
cmp ebx, dword [ebp - 4]
jb 0x437063
mov ebx, 0x5c
jmp 0x437180
mov esi, dword [ebp - 0x20]
movzx ebx, byte [edi]
inc esi
cmp dword [ebp - 0x40], 0
je 0x437180
cmp ebx, 0xc0
jb 0x437180
test bl, 0x20
jne 0x437099
movzx eax, byte [esi]
and ebx, 0x1f
shl ebx, 6
and eax, 0x3f
or ebx, eax
inc esi
jmp 0x437180
test bl, 0x10
jne 0x4370c0
movzx eax, byte [esi]
and ebx, 0xf
shl ebx, 6
and eax, 0x3f
or ebx, eax
movzx eax, byte [esi + 1]
shl ebx, 6
and eax, 0x3f
or ebx, eax
add esi, 2
jmp 0x437180
test bl, 8
jne 0x4370f3
movzx eax, byte [esi]
and ebx, 7
shl ebx, 6
and eax, 0x3f
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 0x437180
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
and ecx, 0x3f
and eax, 0x3f
test bl, 4
jne 0x43712f
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 0x437180
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 0x437180
mov eax, esi
cmp esi, 0x1a
ja case.0x437173.1
movzx eax, byte [eax + 0x438a94]
jmp dword [eax*4 + 0x438a7c]
mov esi, dword [ebp + 8]
mov ebx, dword [ebp - 0xc]
xor edx, edx
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp + 0xc]
cmp edi, 1
jne 0x4372d7
cmp ebx, dword [ecx - 8]
jne 0x4372a8
mov edx, dword [ebp + 0xc]
sub edx, 4
xor edi, edi
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x10], edi
jmp 0x436ddf
mov esi, dword [ebp + 8]
mov ebx, 8
xor edx, edx
jmp 0x437182
mov dword [ebp - 0x50], 1
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x10]
jmp 0x436ddc
cmp dword [ebp - 0x10], 1
je 0x438648
xor edi, edi
lea eax, [esi - 6]
mov dword [ebp - 0x10], edi
cmp eax, 0xf
ja case.0x4371ed.13
movzx eax, byte [eax + 0x438ac4]
jmp dword [eax*4 + 0x438ab0]
mov edx, dword [ebp + 0xc]
lea eax, [esi - 0x7fe80000]
mov dword [edx], eax
add edx, 4
jmp 0x43727e
push dword [ebp - 0x34]
push dword [ebp - 0x18]
push dword [ebp + 0xc]
push esi
call fcn.004356d0
add esp, 0x10
mov dword [ebp + 0xc], eax
mov edx, eax
jmp 0x437281
push dword [ebp + 0x14]
lea eax, [ebp - 0x14]
mov dword [ebp - 0x20], edi
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], edi
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp + 8]
push eax
call fcn.004353b0
add esp, 0x18
test eax, eax
je 0x438718
cmp dword [ebp - 0x9c], edi
je 0x437260
xor eax, eax
cmp esi, 0xf
sete al
lea esi, [eax + 0xf]
mov edx, dword [ebp + 0xc]
lea eax, [esi - 0x7fe80000]
movzx ecx, word [ebp - 0x20]
shl ecx, 0x10
mov dword [edx], eax
movzx eax, word [ebp - 0x24]
or ecx, eax
mov dword [edx + 4], ecx
add edx, 8
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 4]
mov esi, dword [ebp + 8]
dec eax
cmp esi, eax
jae 0x436ddf
cmp byte [esi], 0x2d
jne 0x436ddf
cmp byte [esi + 1], 0x5d
jne 0x43864b
jmp 0x436ddf
jb 0x438662
test edx, edx
mov edx, dword [ebp + 0xc]
jne 0x4372c5
cmp dword [edx - 4], 0x801f0000
jne 0x4372c5
mov dword [edx - 4], 0x801e0000
mov dword [edx], ebx
add edx, 4
xor edi, edi
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x10], edi
jmp 0x436ddf
lea edi, [edx + 2]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x10], edi
mov dword [edx], ebx
add edx, 4
mov dword [ebp + 0xc], edx
jmp 0x436ddf
test al, 0x10
jne 0x437313
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 0x4373b4
test al, 8
jne 0x437342
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 0x4373b4
movzx ecx, byte [esi]
and ecx, 0x3f
test al, 4
movzx eax, byte [esi + 1]
jne 0x43737d
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 0x4373b4
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 - 0xc], ebx
mov ecx, ebx
mov dword [ebp + 8], esi
mov eax, dword [ebp - 0x50]
cmp ecx, 0x5d
jne 0x436dad
test eax, eax
jne 0x436dad
cmp edi, 1
jne 0x4373dc
mov dword [edx - 4], 0x2d
mov dword [edx], 0x800d0000
add edx, 4
jmp 0x43675f
mov edi, dword [ebp - 4]
cmp esi, edi
jae 0x438936
mov al, byte [esi]
cmp al, 0x3f
je 0x4377ea
cmp al, 0x2a
je 0x437468
inc dword [ebp - 8]
test dword [ebp - 0x18], 0x2000
jne 0x437447
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebx + 0x70]
cmp ecx, 0xffff
jae 0x438827
mov edx, dword [ebp + 0xc]
inc ecx
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x70], ecx
or ecx, 0x80080000
mov ebx, dword [ebp + 0x14]
mov dword [edx], ecx
add edx, 4
mov ecx, dword [ebp - 8]
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov edx, dword [ebp + 0xc]
mov ecx, 0x801a0000
mov eax, dword [ebp - 0x30]
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x30], eax
mov dword [edx], ecx
add edx, 4
mov ecx, dword [ebp - 8]
mov dword [ebp + 0xc], edx
jmp 0x435eb0
mov ebx, dword [ebp + 0x14]
mov eax, edi
sub eax, esi
cmp eax, 1
jle 0x43856a
movzx ecx, byte [esi + 1]
mov dword [ebp - 0xc], ecx
cmp ecx, 0x29
je 0x43856a
mov eax, dword [ebx + 0x10]
push ebx
test byte [ecx + eax], 4
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x44]
push eax
push 0
push dword [ebp - 0x40]
lea eax, [ebp + 8]
push edi
push eax
je 0x43769e
mov dword [ebp - 0xc], 0x493de0
call fcn.0043a0f0
add esp, 0x24
test eax, eax
je 0x438718
mov esi, dword [ebp + 8]
mov dword [ebp - 0x24], esi
cmp esi, edi
jae 0x4386bc
cmp byte [esi], 0x3a
jne 0x4386bc
xor ecx, ecx
mov dword [ebp - 0x38], 0
xor ebx, ebx
xor edx, edx
xor edi, edi
mov esi, ecx
nop
lea eax, [edi*8 + 0x493eb8]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
cmp edi, dword [eax]
jne 0x437520
push dword [ebp - 0x2c]
mov dword [ebp - 0x5c], edx
mov edi, esi
push dword [ebp - 0xc]
push dword [ebp - 0x4c]
call fcn.004587d0
add esp, 0xc
test eax, eax
je 0x437540
mov eax, dword [ebp - 0x20]
mov ecx, ebx
mov edx, dword [ebp - 0xc]
lea ebx, [ecx + 1]
inc edx
mov dword [ebp - 0x38], ebx
add edx, dword [eax]
mov edi, ebx
mov dword [ebp - 0xc], edx
mov ecx, ebx
mov edx, ebx
mov eax, ebx
mov esi, edi
cmp edi, 0x11
jl 0x4374f0
jmp 0x437543
mov eax, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x24]
cmp eax, 0x11
jge 0x4386bc
mov edx, dword [edi*8 + 0x493ebc]
mov edi, dword [ebp - 0x10]
test edi, edi
jle 0x43756e
lea eax, [edx + 0x7fdd0000]
cmp eax, 0x30000
ja 0x438691
cmp edx, 0x80250000
ja 0x4375ef
je 0x43761b
cmp edx, 0x80230000
ja 0x4375cc
je 0x437e0e
cmp edx, 0x80020000
je 0x437de3
cmp edx, 0x80220000
jne 0x4375d8
mov edx, dword [ebp + 0xc]
inc esi
mov ecx, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov ebx, dword [ebp + 0x14]
movzx eax, cx
mov dword [edx], 0x80220000
add edx, 4
inc eax
mov dword [ebp + 0xc], edx
movzx ecx, ax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 8], ecx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
cmp edx, 0x80240000
je 0x437e35
mov eax, dword [ebp + 0x14]
mov ecx, 0xbd
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x80280000
ja 0x437621
je 0x43761b
cmp edx, 0x80260000
je 0x43761b
cmp edx, 0x80270000
jne 0x4375d8
mov edx, dword [ebp + 0xc]
inc esi
mov ebx, dword [ebp + 0x14]
mov dword [edx], 0x80270000
jmp 0x437ea3
dec esi
jmp 0x437e7d
cmp edx, 0x8fff0000
jne 0x4375d8
mov edx, dword [ebp + 0xc]
inc esi
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
inc ebx
mov dword [ebp - 8], ebx
mov dword [edx], 0x80220000
mov dword [edx + 4], 0x80020000
add edx, 8
mov dword [ebp + 0xc], edx
test ecx, ecx
jne 0x437659
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x28], ecx
jmp 0x437668
add ecx, 0x10
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x80]
jae 0x438886
mov edi, dword [ebp - 4]
mov eax, 4
mov word [ecx + 6], ax
mov eax, dword [ebp - 0x18]
and eax, 0x10424e8
mov word [ecx], bx
mov ebx, dword [ebp + 0x14]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x34]
and eax, 0x1f80
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov dword [ebp - 0x5c], 0x493d40
call fcn.0043a0f0
add esp, 0x24
test eax, eax
je 0x438718
mov esi, dword [ebp + 8]
mov dword [ebp - 0x24], esi
cmp esi, edi
jae 0x4388d6
mov al, byte [esi]
cmp al, 0x3a
je 0x4376d1
cmp al, 0x29
jne 0x4388d6
mov esi, dword [ebp - 0x5c]
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x38], edi
xor edx, edx
mov dword [ebp - 0x20], edi
xor eax, eax
mov ebx, dword [ebp - 0x2c]
lea eax, [eax + eax*2]
mov dword [ebp - 0x5c], eax
cmp ebx, dword [eax*4 + 0x493d70]
jne 0x43770f
push dword [ebp - 0x2c]
mov ebx, edx
push esi
push dword [ebp - 0x4c]
call fcn.004587d0
add esp, 0xc
test eax, eax
je 0x43772f
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax*4 + 0x493d70]
lea edi, [ecx + 1]
inc eax
mov dword [ebp - 0x38], edi
add esi, eax
mov dword [ebp - 0x20], edi
mov eax, edi
mov ecx, edi
mov edx, edi
mov ebx, edi
cmp eax, 9
jl 0x4376e2
mov esi, dword [ebp - 0x24]
cmp ebx, 9
jge 0x4388d6
cmp byte [esi], 0x3a
jne 0x43774e
lea eax, [esi + 1]
cmp eax, dword [ebp - 4]
jae 0x43774e
cmp byte [eax], 0x29
cmove esi, eax
lea ecx, [edi + edi*2]
mov edi, dword [ecx*4 + 0x493d78]
test edi, edi
jle 0x4377b0
cmp byte [esi], 0x3a
jne 0x4386d3
mov ecx, dword [ecx*4 + 0x493d74]
xor eax, eax
mov ebx, dword [ebp + 0xc]
inc esi
cmp ecx, 0x802a0000
mov dword [ebp - 0x78], ebx
sete al
mov dword [ebp - 0x1c], eax
lea edx, [ebx + 4]
xor eax, eax
mov edi, 0x10000
cmp ecx, 0x80290000
cmovne eax, edi
add eax, ecx
mov dword [ebp - 0x88], edx
add edx, 4
mov dword [ebx], eax
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x6c], 1
jmp 0x43675f
mov ecx, dword [ecx*4 + 0x493d74]
xor eax, eax
mov ebx, dword [ebp + 0xc]
cmp ecx, 0x802a0000
mov dword [ebp - 0x78], ebx
sete al
mov dword [ebp - 0x1c], eax
mov al, byte [esi]
lea edx, [ebx + 4]
inc esi
cmp al, 0x3a
jne 0x4377e3
test edi, edi
jns 0x437784
mov dword [ebp - 0x7c], ecx
mov eax, 0x80290000
jmp 0x437796
mov dword [ebx], ecx
jmp 0x43675f
inc esi
mov dword [ebp + 8], esi
mov edx, esi
cmp esi, edi
jae 0x438936
mov cl, byte [esi]
movzx eax, cl
add eax, 0xffffffdf
cmp eax, 0x31
ja case.0x437810.34
movzx eax, byte [eax + 0x438b0c]
jmp dword [eax*4 + 0x438ad4]
inc esi
mov dword [ebp + 8], esi
cmp esi, edi
jae 0x438936
mov al, byte [esi]
cmp al, 0x3c
jne 0x437833
mov eax, 0x3e
jmp 0x437f0d
cmp al, 0x3e
je case.0x437810.38
cmp al, 0x3d
jne 0x4386ea
mov ebx, dword [ebp + 0x14]
lea eax, [ebp - 0x14]
push ebx
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x44]
push eax
push 0x29
push dword [ebp - 0x40]
lea eax, [ebp + 8]
push edi
push eax
call fcn.0043a0f0
add esp, 0x24
test eax, eax
je 0x438718
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x80040000
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 8]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x44]
mov dword [edx + 8], eax
add edx, 0xc
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x30], eax
jmp 0x435eb0
xor eax, eax
inc esi
mov dword [ebp - 0x38], eax
cmp esi, edi
jae 0x4378b7
cmp byte [esi], 0x29
je 0x43813f
mov eax, dword [ebp + 0x14]
mov ecx, 0x9e
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
sub eax, esi
cmp eax, 2
jl 0x438701
mov al, byte [edx + 1]
sub al, 0x30
cmp al, 9
ja 0x438701
sub cl, 0x30
cmp cl, 9
ja 0x4380f2
or eax, 0xffffffff
jmp 0x4380f8
mov ebx, dword [ebp + 0x14]
lea eax, [ebp - 0x14]
push ebx
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x44]
push eax
push 0x29
push dword [ebp - 0x40]
lea eax, [ebp + 8]
push edi
push eax
call fcn.0043a0f0
add esp, 0x24
test eax, eax
je 0x438718
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x80210000
jmp 0x43787a
inc esi
cmp esi, edi
jae 0x438936
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x48]
dec eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x60], eax
test edx, edx
je 0x43796c
test byte [ebp - 0x18], 4
je 0x43796c
lea eax, [ecx - 0x10]
cmp edx, eax
jne 0x43796c
cmp dword [ecx - 4], 0xff
cmove ecx, edx
mov dword [ebp + 0xc], ecx
mov dl, byte [esi]
mov eax, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x68], 1
cmp dl, 0x29
je 0x437a26
cmp dl, 0x30
jb 0x437994
cmp dl, 0x39
jbe 0x437a26
mov ecx, dword [0x496e24]
mov ebx, esi
mov dword [ebp - 0x38], 0
test ecx, ecx
je 0x4379c5
xor eax, eax
movzx edi, dl
xor edx, edx
nop
cmp edi, ecx
je 0x4379dc
inc eax
mov edx, eax
mov dword [ebp - 0x38], eax
mov ecx, dword [edx*4 + 0x496e24]
test ecx, ecx
jne 0x4379b0
mov eax, dword [ebp + 0x14]
mov ecx, 0xb6
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edx*4 + 0x496d14]
test ecx, ecx
je 0x4379c5
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
mov dword [edx], 0x80070000
inc esi
cmp esi, edi
jae 0x438730
movzx eax, byte [esi]
cmp eax, ecx
jne 0x4379f3
inc esi
cmp esi, edi
jae 0x437a0f
movzx eax, byte [esi]
cmp eax, ecx
je 0x4379f3
mov eax, esi
sub eax, ebx
mov dword [edx + 0xc], eax
add edx, 0x10
mov eax, dword [ebp + 0x14]
sub ebx, dword [eax + 0x1c]
mov dword [ebp - 0x44], ebx
mov dword [edx], ebx
jmp 0x437a6b
mov edx, dword [ebp + 0xc]
xor ecx, ecx
mov dword [edx], 0x80060000
add edx, 0xc
mov dword [ebp + 0xc], edx
cmp esi, edi
jae 0x437a69
nop dword [eax + eax]
mov dl, byte [esi]
lea eax, [edx - 0x30]
cmp al, 9
ja 0x437a66
lea ecx, [ecx + ecx*4]
movzx eax, dl
lea ecx, [ecx - 0x18]
inc esi
lea ecx, [eax + ecx*2]
cmp ecx, 0xff
jg 0x438749
cmp esi, edi
jb 0x437a40
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
cmp esi, edi
jae 0x438760
cmp byte [esi], 0x29
jne 0x438760
mov ebx, dword [ebp + 0x14]
inc esi
mov ecx, dword [ebp - 0x48]
mov eax, esi
sub eax, dword [ebx + 0x1c]
add edx, 4
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x30]
mov dword [ecx + 8], 0
mov ecx, dword [ebp - 8]
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
inc esi
mov dword [ebp + 8], esi
cmp esi, edi
jae 0x438936
mov ecx, dword [ebp - 8]
mov al, byte [esi]
inc ecx
mov dword [ebp - 8], ecx
cmp al, 0x3f
je 0x437dbb
cmp al, 0x2a
je 0x437dbb
mov ebx, dword [ebp + 0x14]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
push 0xa1
push 0xffff
push dword [ebx + 0x70]
lea eax, [ebp + 8]
push edi
push eax
call fcn.0043a460
add esp, 0x1c
test eax, eax
je 0x437b24
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp + 8]
test ecx, ecx
jle 0x438777
mov edx, dword [ebp + 0xc]
mov eax, esi
mov dword [edx], 0x80120000
sub eax, dword [ebx + 0x1c]
sub eax, 2
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
add edx, 8
mov dword [ebp - 0x44], eax
jmp 0x437d95
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x438580
mov ebx, edi
mov edi, dword [ebp + 8]
sub ebx, edi
cmp ebx, 0xa
jl 0x437c4c
push 7
push str.VERSION
push edi
call fcn.004587d0
add esp, 0xc
test eax, eax
jne 0x437c4c
cmp byte [edi + 7], 0x29
lea esi, [edi + 7]
je 0x437c4c
xor ebx, ebx
xor edi, edi
cmp byte [esi], 0x3e
mov eax, esi
mov dword [ebp - 0x20], ebx
jne 0x437b78
inc esi
lea ebx, [edi + 1]
mov eax, esi
cmp byte [esi], 0x3d
jne 0x43878e
lea esi, [eax + 1]
mov al, byte [esi]
mov dword [ebp + 8], esi
cmp al, 0x30
jb 0x43878e
cmp al, 0x39
ja 0x43878e
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x20]
push eax
push 0xb3
push 0x3e8
push 0xffffffffffffffff
push dword [ebp - 4]
lea eax, [ebp + 8]
push eax
call fcn.0043a460
add esp, 0x1c
test eax, eax
je 0x438718
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 4]
cmp esi, ecx
jae 0x43878e
cmp byte [esi], 0x2e
jne 0x437c2e
inc esi
cmp esi, ecx
jae 0x43878e
mov al, byte [esi]
cmp al, 0x30
jb 0x43878e
cmp al, 0x39
ja 0x43878e
movzx eax, al
inc esi
sub eax, 0x30
lea edi, [eax + eax*4]
add edi, edi
cmp esi, ecx
jae 0x43878e
mov al, byte [esi]
cmp al, 0x30
jb 0x437c25
cmp al, 0x39
ja 0x437c25
movzx eax, al
add eax, 0xffffffd0
add edi, eax
lea eax, [esi + 1]
mov esi, eax
cmp eax, ecx
jae 0x43878e
cmp byte [esi], 0x29
jne 0x43878e
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x20]
mov dword [edx], 0x80150000
mov dword [edx + 4], ebx
mov dword [edx + 8], eax
add edx, 0xc
mov dword [edx], edi
mov edi, ecx
jmp 0x437d92
mov al, byte [edi]
mov dword [ebp - 0x24], 0
cmp al, 0x52
jne 0x437c71
cmp ebx, 1
jle 0x437c8d
cmp byte [edi + 1], 0x26
lea eax, [edi + 1]
jne 0x437c8d
mov ebx, 1
mov dword [ebp + 8], eax
jmp 0x437c94
cmp al, 0x3c
jne 0x437c7f
mov ebx, dword [ebp - 0x24]
mov esi, 0x3e
jmp 0x437c99
cmp al, 0x27
jne 0x437c8d
mov ebx, dword [ebp - 0x24]
mov esi, 0x27
jmp 0x437c99
mov ebx, dword [ebp - 0x24]
dec edi
mov dword [ebp + 8], edi
mov esi, 0x29
push dword [ebp + 0x14]
mov edi, dword [ebp - 4]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x44]
push eax
push esi
push dword [ebp - 0x40]
lea eax, [ebp + 8]
push edi
push eax
call fcn.0043a0f0
add esp, 0x24
test eax, eax
je 0x438718
test ebx, ebx
mov ebx, dword [ebp - 0x2c]
je 0x437ce1
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
dec esi
mov dword [edx], 0x80130000
jmp 0x437d7c
cmp esi, 0x29
jne 0x437d70
mov edi, dword [ebp - 0x4c]
cmp ebx, 6
jne 0x437d19
push 6
push str.DEFINE
push edi
call fcn.004587d0
add esp, 0xc
test eax, eax
jne 0x437d19
mov edx, dword [ebp + 0xc]
mov eax, 0x80100000
mov edi, dword [ebp - 4]
mov dword [edx], eax
mov esi, dword [ebp + 8]
dec esi
jmp 0x437d7c
mov eax, 1
mov dword [ebp - 0x38], 1
cmp ebx, eax
jle 0x437d4f
mov esi, eax
mov edx, eax
mov ecx, eax
nop
mov cl, byte [ecx + edi]
cmp cl, 0x30
jb 0x437d4f
mov eax, edx
cmp cl, 0x39
ja 0x437d4f
lea eax, [esi + 1]
mov ecx, eax
mov dword [ebp - 0x38], eax
mov esi, eax
mov edx, eax
cmp ecx, ebx
jl 0x437d30
cmp byte [edi], 0x52
jne 0x437d5d
cmp eax, ebx
mov eax, 0x80140000
jge 0x437d62
mov eax, 0x80110000
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
mov dword [edx], eax
mov esi, dword [ebp + 8]
dec esi
jmp 0x437d7c
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [edx], 0x80110000
mov eax, dword [edx]
add edx, 4
cmp eax, 0x80100000
je 0x437d8d
mov dword [edx], ebx
add edx, 4
mov eax, dword [ebp - 0x44]
mov dword [edx], eax
mov ebx, dword [ebp + 0x14]
cmp esi, edi
jae 0x4387a5
cmp byte [esi], 0x29
jne 0x4387a5
mov eax, dword [ebp - 0x30]
inc esi
mov ecx, dword [ebp - 8]
add edx, 4
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov eax, dword [ebp + 0xc]
mov esi, edx
mov ebx, dword [ebp + 0x14]
mov dword [ebp - 0x60], 2
mov dword [eax], 0x800f0000
add eax, 4
mov dword [ebp + 0xc], eax
mov edx, eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov edi, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
inc ecx
mov ebx, dword [ebp + 0x14]
mov dword [edx], 0x80020000
add edx, 4
mov dword [ebp + 0xc], edx
inc esi
mov dword [ebp - 8], ecx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp + 0xc]
inc esi
mov ebx, dword [ebp + 0x14]
mov dword [edx], 0x80230000
jmp 0x437ea3
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp + 0xc]
inc esi
mov ebx, dword [ebp + 0x14]
mov dword [edx], 0x80270000
jmp 0x437ea3
mov edi, dword [ebp - 0x10]
mov edx, dword [ebp + 0xc]
inc esi
mov ebx, dword [ebp + 0x14]
mov dword [edx], 0x80240000
jmp 0x437ea3
mov eax, edi
sub eax, esi
cmp eax, 1
jle 0x437829
mov al, byte [edx + 1]
cmp al, 0x3d
je 0x437e75
cmp al, 0x21
je 0x437e64
cmp al, 0x2a
jne 0x437829
cmp al, 0x21
mov edx, 0x80280000
mov eax, 0x80260000
cmove edx, eax
jmp 0x437e7a
mov edx, 0x80250000
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
lea ecx, [eax + 4]
mov dword [eax], edx
mov edx, ecx
mov eax, dword [ebp + 0x10]
mov dword [eax], 1
mov eax, esi
sub eax, dword [ebx + 0x1c]
sub eax, 2
add esi, 2
mov dword [ebp - 0x44], eax
mov dword [ecx], eax
mov ecx, dword [ebp - 8]
add edx, 4
inc ecx
mov dword [ebp + 0xc], edx
mov dword [ebp - 8], ecx
test edi, edi
jle 0x437efa
mov ecx, dword [ebp - 0x28]
test ecx, ecx
jne 0x437ec3
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x28], ecx
jmp 0x437ed2
add ecx, 0x10
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x80]
jae 0x438886
mov eax, dword [ebp - 8]
mov word [ecx], ax
mov eax, 2
mov word [ecx + 6], ax
mov eax, dword [ebp - 0x18]
and eax, 0x10424e8
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x34]
and eax, 0x1f80
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 4]
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov eax, 0x27
mov ebx, dword [ebp + 0x14]
lea ecx, [ebp - 0x14]
push ebx
push ecx
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x44]
push ecx
push eax
push dword [ebp - 0x40]
lea eax, [ebp + 8]
push edi
push eax
call fcn.0043a0f0
add esp, 0x24
test eax, eax
je 0x438718
mov eax, dword [ebx + 0x70]
cmp eax, 0xffff
jae 0x438824
mov ecx, dword [ebp + 0xc]
inc eax
inc dword [ebp - 8]
mov dword [ebx + 0x70], eax
or eax, 0x80080000
mov dword [ecx], eax
add ecx, 4
movzx edx, word [ebx + 0x58]
mov eax, 0x2710
mov dword [ebp + 0xc], ecx
cmp dx, ax
jae 0x43880a
mov ecx, dword [ebp - 0x2c]
movzx eax, word [ebx + 0x5a]
add ecx, 3
cmp ecx, eax
mov ecx, dword [ebp - 0x2c]
jbe 0x437f89
lea eax, [ecx + 3]
mov word [ebx + 0x5a], ax
mov esi, dword [ebx + 0x60]
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x20], 0
xor edi, edi
mov dword [ebp - 0x38], ebx
cmp ax, dx
jae 0x438007
movzx eax, word [esi + 8]
cmp ecx, eax
jne 0x437fe4
push ecx
push dword [esi]
push dword [ebp - 0x4c]
call fcn.004587d0
add esp, 0xc
test eax, eax
jne 0x437fe4
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 0x70]
je 0x438007
test byte [ebp - 0x18], 0x40
je 0x4387bc
mov eax, 1
mov word [esi + 0xa], ax
mov dword [ebp - 0x20], eax
mov dword [ecx + 0xb8], eax
jmp 0x437ff3
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 0x70]
je 0x4387d6
movzx eax, word [ecx + 0x58]
inc ebx
mov ecx, dword [ebp - 0x2c]
add esi, 0xc
mov dword [ebp - 0x38], ebx
mov edi, ebx
cmp ebx, eax
jl 0x437fa1
mov ebx, dword [ebp + 0x14]
movzx eax, word [ebx + 0x58]
cmp edi, eax
jl 0x4380b8
mov ecx, dword [ebx + 0x64]
cmp eax, ecx
jb 0x43806f
lea edi, [ecx + ecx]
mov ecx, dword [ebx]
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 0x4387f0
mov eax, dword [ebx + 0x64]
lea eax, [eax + eax*2]
shl eax, 2
push eax
push dword [ebx + 0x60]
push esi
call fcn.0045cb10
add esp, 0xc
cmp dword [ebx + 0x64], 0x14
jbe 0x438069
mov eax, dword [ebx]
push dword [eax + 8]
mov eax, dword [eax + 4]
push dword [ebx + 0x60]
call eax
add esp, 8
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x64], edi
movzx eax, word [ebx + 0x58]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x2c]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x60]
mov dword [eax + ecx*4], edx
movzx eax, word [ebx + 0x58]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x60]
mov word [eax + ecx*4 + 8], si
movzx eax, word [ebx + 0x58]
mov ecx, dword [ebx + 0x60]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x70]
mov dword [ecx + edx*4 + 4], eax
movzx eax, word [ebx + 0x58]
mov edx, dword [ebp - 0x20]
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x60]
mov word [eax + ecx*4 + 0xa], dx
inc word [ebx + 0x58]
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x30], eax
jmp 0x435eb0
cmp cl, 0x2d
jne 0x438173
mov eax, edi
sub eax, esi
cmp eax, 1
jle 0x438173
mov al, byte [edx + 1]
sub al, 0x30
cmp al, 9
ja 0x438173
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0x70]
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x38]
push ecx
push 0xa1
push 0xffff
push eax
lea eax, [ebp + 8]
push edi
push eax
call fcn.0043a460
add esp, 0x1c
test eax, eax
je 0x438718
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp + 8]
test eax, eax
js 0x43883e
cmp esi, edi
jae 0x438936
cmp byte [esi], 0x29
jne 0x438936
mov edx, dword [ebp + 0xc]
or eax, 0x80200000
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x1c], 1
mov dword [edx], eax
mov eax, esi
sub eax, dword [ebx + 0x1c]
inc esi
mov dword [edx + 4], eax
add edx, 8
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x28]
inc eax
mov dword [ebp - 8], eax
test edx, edx
jne 0x43818c
mov ebx, dword [ebp + 0x14]
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x28], edx
jmp 0x43819e
add edx, 0x10
mov dword [ebp - 0x28], edx
cmp edx, dword [ebp - 0x80]
jae 0x438886
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x28]
mov word [edx], ax
xor eax, eax
mov word [edx + 6], ax
mov eax, ecx
and eax, 0x10424e8
mov dword [edx + 8], eax
mov edx, dword [ebp - 0x34]
mov eax, edx
and eax, 0x1f80
mov dword [edi + 0xc], eax
cmp byte [esi], 0x7c
mov edi, dword [ebp - 4]
jne 0x43820d
mov ecx, dword [ebp - 0x28]
movzx eax, word [ebx + 0x70]
mov edx, dword [ebp + 0xc]
mov word [ecx + 2], ax
movzx eax, word [ebx + 0x70]
mov word [ecx + 4], ax
mov eax, 1
mov word [ecx + 6], ax
or dword [ebx + 0x6c], 0x200000
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 8]
mov dword [edx], 0x801a0000
add edx, 4
mov dword [ebp + 0xc], edx
inc esi
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov eax, dword [ebp - 0x28]
xor ebx, ebx
mov dword [ebp - 0xa4], ecx
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x94], edx
mov dword [ebp - 0x24], 1
lea edx, [ebp - 0x90]
mov dword [eax + 2], ecx
lea ecx, [ebp - 0x8c]
xor eax, eax
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x8c], edi
cmp esi, eax
jae 0x438389
cmp byte [esi], 0x5e
jne 0x438274
and dword [ebp - 0x18], 0xfeffdb57
and dword [ebp - 0x34], 0xffffff7f
inc esi
mov dword [ebp - 0x24], ebx
cmp esi, eax
jae 0x43838f
nop dword [eax]
mov al, byte [esi]
cmp al, 0x29
je 0x438375
cmp al, 0x3a
je 0x438375
movzx eax, al
inc esi
sub eax, 0x2d
cmp eax, 0x4b
ja case.0x4382a9.46
movzx eax, byte [eax + 0x438b6c]
jmp dword [eax*4 + 0x438b40]
cmp dword [ebp - 0x24], ebx
je 0x438856
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], ebx
lea edx, [ebp - 0x10]
jmp 0x43836c
cmp esi, dword [ebp - 4]
jae 0x438310
mov al, byte [esi]
cmp al, 0x44
jne 0x4382dd
or dword [edx], 0x100
jmp 0x43836b
cmp al, 0x50
jne 0x4382ec
or dword [edx], 0x1800
jmp 0x43836b
cmp al, 0x53
jne 0x4382f8
or dword [edx], 0x200
jmp 0x43836b
cmp al, 0x54
jne 0x438304
or dword [edx], 0x1000
jmp 0x43836b
cmp al, 0x57
jne 0x438310
or dword [edx], 0x400
jmp 0x43836b
or dword [edx], 0x1f00
jmp 0x43836c
mov eax, dword [ebp + 0x14]
or dword [ecx], 0x40
or dword [eax + 0x6c], 0x400
jmp 0x43836c
or dword [ecx], 8
jmp 0x43836c
or dword [ecx], 0x400
jmp 0x43836c
or dword [ecx], 0x2000
jmp 0x43836c
or dword [edx], 0x80
jmp 0x43836c
or dword [ecx], 0x20
jmp 0x43836c
or dword [ecx], 0x40000
jmp 0x43836c
mov eax, dword [ecx]
or eax, 0x80
mov dword [ecx], eax
cmp esi, dword [ebp - 4]
jae 0x438375
cmp byte [esi], 0x78
jne 0x43836c
or eax, 0x1000000
mov dword [ecx], eax
inc esi
cmp esi, dword [ebp - 4]
jb 0x438280
mov edi, dword [ebp - 0x8c]
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x10]
jmp 0x438395
xor ecx, ecx
xor edx, edx
jmp 0x438395
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0xc]
mov eax, edi
and eax, 0x1000080
cmp eax, 0x80
je 0x4383a7
test bl, bl
jns 0x4383ad
or ebx, 0x1000000
or edi, dword [ebp - 0x18]
not ebx
or ecx, dword [ebp - 0x34]
and edi, ebx
not edx
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 4]
and ecx, edx
mov dword [ebp - 0x34], ecx
cmp esi, edi
jae 0x438936
mov al, byte [esi]
inc esi
mov ebx, dword [ebp + 0x14]
cmp al, 0x29
jne 0x438403
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x28]
movzx edx, ax
mov dword [ebp - 8], edx
cmp ecx, dword [ebx + 0x14]
jbe 0x4383fb
cmp word [ecx - 0x10], dx
lea eax, [ecx - 0x10]
jne 0x4383fb
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
jmp 0x438412
mov word [ecx], dx
mov edx, dword [ebp + 0xc]
jmp 0x438412
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x801a0000
add edx, 4
mov dword [ebp + 0xc], edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0xa4]
jne 0x43842c
cmp eax, dword [ebp - 0x94]
je 0x43856d
mov dword [edx], 0x801b0000
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 8]
mov dword [edx + 8], eax
add edx, 0xc
mov eax, dword [ebp - 0x30]
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp + 0x14]
test ecx, ecx
je 0x43847d
mov eax, dword [ebp - 8]
cmp word [ecx], ax
jne 0x43847d
test byte [ecx + 6], 1
je 0x43847d
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebx + 0x70]
movzx eax, word [edx + 4]
cmp ecx, eax
jbe 0x438476
mov word [edx + 4], cx
movzx eax, word [edx + 2]
mov dword [ebx + 0x70], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov dword [edx], 0x80010000
add edx, 4
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x1c], 1
test ecx, ecx
je 0x438528
mov eax, dword [ebp - 8]
cmp word [ecx], ax
jne 0x438528
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
and ecx, 0xfefbdb17
mov ebx, dword [ebp + 0x14]
and eax, 0xffffe07f
or ecx, dword [edx + 8]
or eax, dword [edx + 0xc]
test byte [edx + 6], 1
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x34], eax
je 0x4384ec
movzx eax, word [edx + 4]
cmp eax, dword [ebx + 0x70]
jbe 0x4384ec
mov dword [ebx + 0x70], eax
movzx eax, word [edx + 6]
mov ecx, eax
not ecx
shr ecx, 1
and ecx, 1
mov dword [ebp - 0x1c], ecx
test al, 4
je 0x43850f
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x80190000
add eax, 4
mov dword [ebp + 0xc], eax
cmp edx, dword [ebx + 0x14]
jne 0x43851d
mov dword [ebp - 0x28], 0
jmp 0x43852b
sub edx, 0x10
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x28], edx
jmp 0x43852b
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
test cx, cx
je 0x43889d
mov edx, dword [ebp + 0xc]
add ecx, 0xffff
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov dword [edx], 0x80190000
add edx, 4
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov edx, dword [ebp + 0xc]
mov dword [edx], ebx
add edx, 4
jmp 0x436758
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], eax
jmp 0x435eb0
mov ecx, 0x8c
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec esi
pop edi
mov ecx, 0xb0
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x76
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec esi
pop edi
mov ecx, 0x6d
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [esi]
xor ecx, ecx
dec esi
cmp al, 0x3a
mov eax, dword [ebp + 0x14]
setne cl
add ecx, 0x70
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec esi
pop edi
mov ecx, 0x71
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x6b
mov esi, dword [ebp + 8]
dec esi
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xab
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ecx, 0x96
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec esi
pop edi
mov ecx, 0x6c
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x6a
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x80270000
je 0x4386a5
cmp edx, 0x80280000
jne 0x436456
mov eax, dword [ebp + 0x14]
mov ecx, 0xc6
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xc3
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xa6
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8d
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x81
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov esi, ebx
pop edi
mov ecx, 0xb5
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8a
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8b
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x73
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xb3
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x7c
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x8f
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xa5
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x79
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x95
mov esi, dword [ebp + 8]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov ecx, 0xc5
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec esi
pop edi
mov ecx, 0x73
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec esi
pop edi
mov ecx, 0xc2
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
dec esi
pop edi
mov ecx, 0x6f
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0xb8
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x7a
mov eax, dword [ebp + 0x14]
dec esi
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, 0x77
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x6c], 0
je 0x435e04
mov eax, dword [ebp + 0x14]
mov ecx, 0xa0
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test al, 4
je 0x438901
mov dword [ecx], 0x80190000
mov dword [ecx + 4], 0x80180005
add ecx, 8
cmp ecx, dword [ebp - 0x84]
jb 0x438920
mov eax, dword [ebp + 0x14]
mov ecx, 0xa3
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [ebp - 8], 0
mov dword [ecx], SysReAllocStringLen
jne 0x438936
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x72
mov eax, dword [ebp + 0x14]
pop edi
sub esi, dword [eax + 0x1c]
mov dword [eax + 0x54], esi
mov eax, ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret