Function at 0x4627b0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0x717f80]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [0x7ddb00]
push ebx
push esi
push edi
test ecx, ecx
jne 0x4628b8
mov eax, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 8], edi
mov ebx, 0xbdcac9ce
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x462828
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x462824
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x462812
cmp edx, edi
jne 0x462897
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0xc], edx
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + edx + 0x78]
mov eax, dword [eax + edx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + edx]
mov dword [ebp - 0x1c], eax
cmp eax, edx
je 0x462897
mov esi, dword [eax + 0x18]
test esi, esi
je 0x462897
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, edx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, edx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x462885
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x462870
cmp edx, ebx
mov edx, dword [ebp - 0xc]
je 0x4636e0
test esi, esi
jne 0x462858
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x18]
je 0x4628b0
cmp dword [ecx + 0x18], 0
jne 0x4627f4
xor ecx, ecx
mov dword [0x7ddb00], ecx
movaps xmm0, xmmword [0x6e6930]
xor edx, edx
movups xmmword [ebp - 0x70], xmm0
mov word [ebp - 0x60], 0x45
mov byte [ebp - 0x5e], 1
nop
lea eax, [edx - 5]
xor byte [ebp + edx - 0x70], al
inc edx
cmp edx, 0x11
jb 0x4628d0
push 0
push 0
push 3
push 0
push 7
push closesocket
lea eax, [ebp - 0x70]
mov byte [ebp - 0x5e], 0
push eax
call ecx
cmp eax, 0xffffffff
je 0x462905
mov dword [0], 1
mov ecx, dword [0x7ddae0]
test ecx, ecx
jne 0x4629f8
mov eax, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 8], edi
mov ebx, 0x53b2070f
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x462967
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x462963
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x462951
cmp edx, edi
jne 0x4629d7
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0xc], edx
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + edx + 0x78]
mov eax, dword [eax + edx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + edx]
mov dword [ebp - 0x1c], eax
cmp eax, edx
je 0x4629d7
mov esi, dword [eax + 0x18]
test esi, esi
je 0x4629d7
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, edx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, edx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x4629c5
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x4629b0
cmp edx, ebx
mov edx, dword [ebp - 0xc]
je 0x46375e
test esi, esi
jne 0x462997
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x18]
je 0x4629f0
cmp dword [ecx + 0x18], 0
jne 0x462933
xor ecx, ecx
mov dword [0x7ddae0], ecx
mov dword [ebp - 0x4c], 0x8692bead
xor edx, edx
mov dword [ebp - 0x48], 0x696e6fb7
mov dword [ebp - 0x44], 0x6a69602d
mov word [ebp - 0x40], 0x100
lea eax, [edx - 5]
xor byte [ebp + edx - 0x4c], al
inc edx
cmp edx, 0xc
jb 0x462a15
lea eax, [ebp - 0x4c]
mov byte [ebp - 0x3f], 0
push eax
call ecx
test eax, eax
je 0x462a3a
mov dword [0], 1
mov ecx, dword [0x7ddafc]
mov dword [ebp - 0x10], 0
test ecx, ecx
jne 0x462b38
mov eax, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 8], edi
mov ebx, 0xdf6a51c
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
nop
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x462aa6
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x462aa2
nop
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x462a90
cmp edx, edi
jne 0x462b17
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0xc], edx
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + edx + 0x78]
mov eax, dword [eax + edx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [edx + ecx]
mov dword [ebp - 0x1c], eax
cmp eax, edx
je 0x462b17
mov esi, dword [eax + 0x18]
test esi, esi
je 0x462b17
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, edx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, edx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x462b05
nop dword [eax + eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x462af0
cmp edx, ebx
mov edx, dword [ebp - 0xc]
je 0x4637de
test esi, esi
jne 0x462ad6
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x18]
je 0x462b30
cmp dword [ecx + 0x18], 0
jne 0x462a70
xor ecx, ecx
mov dword [0x7ddafc], ecx
movaps xmm0, xmmword [0x6e6960]
xor edx, edx
movups xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x68], 0x7a795d3b
movaps xmm0, xmmword [0x6e69e0]
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x64], 0x4d485476
mov dword [ebp - 0x60], 0x100574d
nop dword [eax + eax]
lea eax, [edx - 5]
xor byte [ebp + edx - 0x88], al
inc edx
cmp edx, 0x2a
jb 0x462b70
lea eax, [ebp - 0x10]
mov byte [ebp - 0x5d], 0
push eax
push 0x20019
push 0
lea eax, [ebp - 0x88]
push eax
push reloc.WS2_32.dll_bind
call ecx
test eax, eax
jne 0x462cb8
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x462cb8
mov ecx, dword [0x7ddaf0]
test ecx, ecx
jne 0x462cab
mov eax, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 8], edi
mov ebx, 0x1242154a
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
nop
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x462c16
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x462c12
nop
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x462c00
cmp edx, edi
jne 0x462c87
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0xc], edx
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + edx + 0x78]
mov eax, dword [eax + edx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [edx + ecx]
mov dword [ebp - 0x1c], eax
cmp eax, edx
je 0x462c87
mov esi, dword [eax + 0x18]
test esi, esi
je 0x462c87
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, edx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, edx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x462c75
nop dword [eax + eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x462c60
cmp edx, ebx
mov edx, dword [ebp - 0xc]
je 0x46385e
test esi, esi
jne 0x462c46
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x18]
je 0x462ca0
cmp dword [ecx + 0x18], 0
jne 0x462be0
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov dword [0x7ddaf0], ecx
push eax
call ecx
mov dword [0], 1
mov ecx, dword [0x7ddafc]
mov dword [ebp - 0x10], 0
test ecx, ecx
jne 0x462db8
mov eax, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 8], edi
mov ebx, 0xdf6a51c
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
nop dword [eax]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x462d26
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x462d22
nop
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x462d10
cmp edx, edi
jne 0x462d97
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0xc], edx
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + edx + 0x78]
mov eax, dword [eax + edx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [edx + ecx]
mov dword [ebp - 0x1c], eax
cmp eax, edx
je 0x462d97
mov esi, dword [eax + 0x18]
test esi, esi
je 0x462d97
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, edx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, edx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x462d85
nop dword [eax + eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x462d70
cmp edx, ebx
mov edx, dword [ebp - 0xc]
je 0x4638de
test esi, esi
jne 0x462d56
mov edi, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x18]
je 0x462db0
cmp dword [ecx + 0x18], 0
jne 0x462cf0
xor ecx, ecx
mov dword [0x7ddafc], ecx
movaps xmm0, xmmword [0x6e6980]
xor edx, edx
movups xmmword [ebp - 0x7c], xmm0
mov dword [ebp - 0x6c], 0x4042455f
mov dword [ebp - 0x68], 0x61684353
mov dword [ebp - 0x64], 0x787167
mov byte [ebp - 0x60], 1
nop
lea eax, [edx - 5]
xor byte [ebp + edx - 0x7c], al
inc edx
cmp edx, 0x1b
jb 0x462de0
lea eax, [ebp - 0x10]
mov byte [ebp - 0x60], 0
push eax
push 0x20019
push 0
lea eax, [ebp - 0x7c]
push eax
push reloc.WS2_32.dll_bind
call ecx
test eax, eax
jne 0x4636cf
mov ecx, dword [0x7ddae8]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0x100
test ecx, ecx
jne 0x462f0d
mov eax, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 0x24], edi
mov ebx, 0xc2c33c3d
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x462e7b
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x462e77
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x462e65
cmp edx, edi
jne 0x462eec
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x18], edx
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + edx + 0x78]
mov eax, dword [eax + edx + 0x7c]
mov dword [ebp - 0x28], eax
lea eax, [edx + ecx]
mov dword [ebp - 0x1c], eax
cmp eax, edx
je 0x462eec
mov esi, dword [eax + 0x18]
test esi, esi
je 0x462eec
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, edx
nop dword [eax + eax]
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, edx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x462eda
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x462ec5
cmp edx, ebx
mov edx, dword [ebp - 0x18]
je 0x46395e
test esi, esi
jne 0x462eb0
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x20]
je 0x462f05
cmp dword [ecx + 0x18], 0
jne 0x462e47
xor ecx, ecx
mov dword [0x7ddae8], ecx
push 0x10a
push 0x40
call ecx
mov ecx, dword [0x7ddadc]
mov ebx, eax
mov dword [ebp - 0x1c], ebx
test ecx, ecx
jne 0x463011
mov ecx, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x18], 0x9027eb7c
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], ecx
nop dword [eax]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x462f86
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x462f82
nop
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x462f70
cmp edx, edi
jne 0x462fed
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x2c], eax
lea eax, [ebx + ecx]
mov dword [ebp - 0x28], eax
cmp eax, ebx
je 0x462fed
mov esi, dword [eax + 0x18]
test esi, esi
je 0x462fed
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, ebx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, ebx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x462fdd
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x462fc8
cmp edx, dword [ebp - 0x18]
je 0x4639de
test esi, esi
jne 0x462fb3
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x20]
je 0x463006
cmp dword [ecx + 0x18], 0
jne 0x462f50
xor ecx, ecx
mov ebx, dword [ebp - 0x1c]
mov dword [0x7ddadc], ecx
movaps xmm0, xmmword [0x6e69d0]
xor edx, edx
movups xmmword [ebp - 0x70], xmm0
mov word [ebp - 0x60], 0x65
mov byte [ebp - 0x5e], 1
lea eax, [edx - 5]
xor byte [ebp + edx - 0x70], al
inc edx
cmp edx, 0x11
jb 0x463028
lea eax, [ebp - 0xc]
mov byte [ebp - 0x5e], 0
push eax
push ebx
lea eax, [ebp - 8]
push eax
push 0
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x10]
call ecx
test eax, eax
jne 0x4630cf
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x463056
mov edi, 0
sub esi, ecx
je 0x463086
nop word [eax + eax]
movsx eax, byte [edi + ebx]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [edi + ebx], al
add esp, 4
inc edi
cmp edi, esi
jb 0x463070
mov eax, dword [ebp - 8]
cmp eax, 1
je 0x463093
cmp eax, 7
jne 0x4630cf
mov dword [ebp - 0x34], 0x86929e8d
xor ecx, ecx
mov word [ebp - 0x30], 0x100
lea eax, [ecx - 5]
xor byte [ebp + ecx - 0x34], al
inc ecx
cmp ecx, 4
jb 0x4630a2
lea eax, [ebp - 0x34]
mov byte [ebp - 0x2f], 0
push eax
push ebx
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x4630cf
mov dword [0], 1
mov ecx, dword [0x7ddaf4]
test ecx, ecx
jne 0x4631c1
mov eax, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], 0xbf0306f6
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], ecx
nop
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x463136
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x463132
nop
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x463120
cmp edx, edi
jne 0x46319d
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x28], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x46319d
mov esi, dword [eax + 0x18]
test esi, esi
je 0x46319d
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, ebx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, ebx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x46318d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x463178
cmp edx, dword [ebp - 0x24]
je 0x463a61
test esi, esi
jne 0x463163
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x20]
je 0x4631b6
cmp dword [ecx + 0x18], 0
jne 0x463100
xor ecx, ecx
mov ebx, dword [ebp - 0x1c]
mov dword [0x7ddaf4], ecx
push ebx
call ecx
mov ecx, dword [0x7ddae8]
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0x200
test ecx, ecx
jne 0x4632be
mov eax, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], 0xc2c33c3d
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x463236
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x463232
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x463220
cmp edx, edi
jne 0x46329d
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x28], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x46329d
mov esi, dword [eax + 0x18]
test esi, esi
je 0x46329d
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, ebx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, ebx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x46328d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x463278
cmp edx, dword [ebp - 0x24]
je 0x463ae1
test esi, esi
jne 0x463263
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
je 0x4632b6
cmp dword [ecx + 0x18], 0
jne 0x463202
xor ecx, ecx
mov dword [0x7ddae8], ecx
push 0x20a
push 0x40
call ecx
mov ecx, dword [0x7ddadc]
mov esi, eax
mov dword [ebp - 0x20], esi
test ecx, ecx
jne 0x4633c1
mov ecx, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], 0x9027eb7c
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ecx
nop dword [eax]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x463336
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x463332
nop
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x463320
cmp edx, edi
jne 0x46339d
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x28], eax
lea eax, [ebx + ecx]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x46339d
mov esi, dword [eax + 0x18]
test esi, esi
je 0x46339d
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, ebx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, ebx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x46338d
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x463378
cmp edx, dword [ebp - 0x24]
je 0x463b61
test esi, esi
jne 0x463363
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
je 0x4633b6
cmp dword [ecx + 0x18], 0
jne 0x463300
xor ecx, ecx
mov esi, dword [ebp - 0x20]
mov dword [0x7ddadc], ecx
movaps xmm0, xmmword [0x6e69c0]
xor edx, edx
movups xmmword [ebp - 0x50], xmm0
mov word [ebp - 0x40], 0x100
lea eax, [edx - 5]
xor byte [ebp + edx - 0x50], al
inc edx
cmp edx, 0x10
jb 0x4633d4
lea eax, [ebp - 0xc]
mov byte [ebp - 0x3f], 0
push eax
push esi
lea eax, [ebp - 8]
push eax
push 0
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x10]
call ecx
test eax, eax
jne 0x4634d4
cmp dword [ebp - 8], 7
jne 0x4634d4
mov ebx, esi
cmp byte [esi], al
je 0x4634d4
mov esi, ebx
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x463420
mov edi, 0
sub esi, ecx
je 0x463446
movsx eax, byte [ebx + edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov byte [ebx + edi], al
add esp, 4
inc edi
cmp edi, esi
jb 0x463430
mov dword [ebp - 0x3c], 0x9d9c8e94
xor ecx, ecx
mov dword [ebp - 0x38], 0x1006593
lea eax, [ecx - 5]
xor byte [ebp + ecx - 0x3c], al
inc ecx
cmp ecx, 6
jb 0x463456
mov esi, dword [sym.imp.VCRUNTIME140.dll_strstr]
lea eax, [ebp - 0x3c]
push eax
push ebx
mov byte [ebp - 0x35], 0
call esi
add esp, 8
test eax, eax
jne 0x4634b1
mov dword [ebp - 0x5c], 0x8a8f958d
xor ecx, ecx
mov dword [ebp - 0x58], 0x606d618a
mov dword [ebp - 0x54], 0x1007c6c
lea eax, [ecx - 5]
xor byte [ebp + ecx - 0x5c], al
inc ecx
cmp ecx, 0xa
jb 0x463492
lea eax, [ebp - 0x5c]
mov byte [ebp - 0x51], 0
push eax
push ebx
call esi
add esp, 8
test eax, eax
je 0x4634bb
mov dword [0], 1
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4634c0
sub ecx, edx
inc ebx
add ebx, ecx
cmp byte [ebx], al
jne 0x463415
mov ecx, dword [0x7ddaf4]
test ecx, ecx
jne 0x4635c6
mov eax, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], 0xbf0306f6
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ecx
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x463538
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x463534
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x463522
cmp edx, edi
jne 0x4635a5
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x28], eax
lea eax, [ebx + ecx]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x4635a5
mov esi, dword [eax + 0x18]
test esi, esi
je 0x4635a5
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, ebx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, ebx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x463595
nop word [eax + eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x463580
cmp edx, dword [ebp - 0x24]
je 0x463be1
test esi, esi
jne 0x463565
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x1c]
je 0x4635be
cmp dword [ecx + 0x18], 0
jne 0x463504
xor ecx, ecx
mov dword [0x7ddaf4], ecx
push dword [ebp - 0x20]
call ecx
mov ecx, dword [0x7ddaf0]
test ecx, ecx
jne 0x4636c8
mov eax, dword fs:[0x30]
xor edi, edi
mov dword [ebp - 0x18], edi
mov ebx, 0x1242154a
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x14], ecx
nop dword [eax]
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
test edi, edi
je 0x463636
add eax, 0xfffffff8
mov edx, 0x811c9dc5
movzx eax, ax
shr eax, 1
lea esi, [ecx + eax*2]
cmp ecx, esi
je 0x463632
nop
movsx eax, byte [ecx]
add ecx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jne 0x463620
cmp edx, edi
jne 0x4636a7
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x1c], edx
mov eax, dword [edx + 0x3c]
mov ecx, dword [eax + edx + 0x78]
mov eax, dword [eax + edx + 0x7c]
mov dword [ebp - 0x28], eax
lea eax, [edx + ecx]
mov dword [ebp - 0x2c], eax
cmp eax, edx
je 0x4636a7
mov esi, dword [eax + 0x18]
test esi, esi
je 0x4636a7
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, edx
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, edx
dec esi
mov edx, 0x811c9dc5
mov al, byte [ecx]
inc ecx
test al, al
je 0x463695
nop dword [eax + eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x463680
cmp edx, ebx
mov edx, dword [ebp - 0x1c]
je 0x463c61
test esi, esi
jne 0x463666
mov edi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
cmp eax, dword [ebp - 0x20]
je 0x4636c0
cmp dword [ecx + 0x18], 0
jne 0x463600
xor ecx, ecx
mov dword [0x7ddaf0], ecx
push dword [ebp - 0x10]
call ecx
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00622073
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x1c]
mov eax, dword [edi + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edx]
add ecx, edx
cmp ecx, edi
jbe 0x4628b2
mov eax, dword [ebp - 0x20]
add eax, edi
cmp ecx, eax
jae 0x4628b2
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 8], edi
mov ebx, edi
cmp al, 0x2e
je 0x463735
nop dword [eax]
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x463720
mov dword [ebp - 8], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x463754
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x463740
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
jmp 0x46289a
mov edi, dword [ebp - 0x1c]
mov eax, dword [edi + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edx]
add ecx, edx
cmp ecx, edi
jbe 0x4629f2
mov eax, dword [ebp - 0x20]
add eax, edi
cmp ecx, eax
jae 0x4629f2
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 8], edi
mov ebx, edi
cmp al, 0x2e
je 0x4637b5
nop dword [eax + eax]
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x4637a0
mov dword [ebp - 8], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x4637d4
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x4637c0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
jmp 0x4629da
mov edi, dword [ebp - 0x1c]
mov eax, dword [edi + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edx]
add ecx, edx
cmp ecx, edi
jbe 0x462b32
mov eax, dword [ebp - 0x20]
add eax, edi
cmp ecx, eax
jae 0x462b32
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 8], edi
mov ebx, edi
cmp al, 0x2e
je 0x463835
nop dword [eax + eax]
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x463820
mov dword [ebp - 8], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x463854
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x463840
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
jmp 0x462b1a
mov edi, dword [ebp - 0x1c]
mov eax, dword [edi + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edx]
add ecx, edx
cmp ecx, edi
jbe 0x462ca2
mov eax, dword [ebp - 0x20]
add eax, edi
cmp ecx, eax
jae 0x462ca2
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 8], edi
mov ebx, edi
cmp al, 0x2e
je 0x4638b5
nop dword [eax + eax]
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x4638a0
mov dword [ebp - 8], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x4638d4
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x4638c0
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
jmp 0x462c8a
mov edi, dword [ebp - 0x1c]
mov eax, dword [edi + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edx]
add ecx, edx
cmp ecx, edi
jbe 0x462db2
mov eax, dword [ebp - 0x20]
add eax, edi
cmp ecx, eax
jae 0x462db2
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 8], edi
mov ebx, edi
cmp al, 0x2e
je 0x463935
nop dword [eax + eax]
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x463920
mov dword [ebp - 8], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x463954
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x463940
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
jmp 0x462d9a
mov edi, dword [ebp - 0x1c]
mov eax, dword [edi + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edx]
add ecx, edx
cmp ecx, edi
jbe 0x462f07
mov eax, dword [ebp - 0x28]
add eax, edi
cmp ecx, eax
jae 0x462f07
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 0x24], edi
mov ebx, edi
cmp al, 0x2e
je 0x4639b5
nop dword [eax + eax]
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x4639a0
mov dword [ebp - 0x24], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x4639d4
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x4639c0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
jmp 0x462eef
mov edx, dword [ebp - 0x28]
mov eax, dword [edx + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + ebx]
add ecx, ebx
cmp ecx, edx
jbe 0x463008
mov eax, dword [ebp - 0x2c]
add eax, edx
cmp ecx, eax
jae 0x463008
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 0x24], edi
mov ebx, edi
mov dword [ebp - 0x18], ebx
cmp al, 0x2e
je 0x463a35
nop
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x463a20
mov dword [ebp - 0x24], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x463a57
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x463a40
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
jmp 0x462ff0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + ebx]
add ecx, ebx
cmp ecx, edx
jbe 0x4631b8
mov eax, dword [ebp - 0x28]
add eax, edx
cmp ecx, eax
jae 0x4631b8
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 0x18], edi
mov ebx, edi
mov dword [ebp - 0x24], ebx
cmp al, 0x2e
je 0x463ab6
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x463aa1
mov dword [ebp - 0x18], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x463ad7
nop
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x463ac0
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
jmp 0x4631a0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + ebx]
add ecx, ebx
cmp ecx, edx
jbe 0x4632b8
mov eax, dword [ebp - 0x28]
add eax, edx
cmp ecx, eax
jae 0x4632b8
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 0x18], edi
mov ebx, edi
mov dword [ebp - 0x24], ebx
cmp al, 0x2e
je 0x463b36
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x463b21
mov dword [ebp - 0x18], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x463b57
nop
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x463b40
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
jmp 0x4632a0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + ebx]
add ecx, ebx
cmp ecx, edx
jbe 0x4633b8
mov eax, dword [ebp - 0x28]
add eax, edx
cmp ecx, eax
jae 0x4633b8
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 0x18], edi
mov ebx, edi
mov dword [ebp - 0x24], ebx
cmp al, 0x2e
je 0x463bb6
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x463ba1
mov dword [ebp - 0x18], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x463bd7
nop
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x463bc0
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
jmp 0x4633a0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + ebx]
add ecx, ebx
cmp ecx, edx
jbe 0x4635c0
mov eax, dword [ebp - 0x28]
add eax, edx
cmp ecx, eax
jae 0x4635c0
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 0x18], edi
mov ebx, edi
mov dword [ebp - 0x24], ebx
cmp al, 0x2e
je 0x463c36
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x463c21
mov dword [ebp - 0x18], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x463c57
nop
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x463c40
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
jmp 0x4635a8
mov edi, dword [ebp - 0x2c]
mov eax, dword [edi + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [eax + edx]
add ecx, edx
cmp ecx, edi
jbe 0x4636c2
mov eax, dword [ebp - 0x28]
add eax, edi
cmp ecx, eax
jae 0x4636c2
mov al, byte [ecx]
mov edi, 0x811c9dc5
mov dword [ebp - 0x18], edi
mov ebx, edi
cmp al, 0x2e
je 0x463cb5
nop
movsx eax, al
inc ecx
xor eax, edi
imul edi, eax, 0x1000193
mov al, byte [ecx]
cmp al, 0x2e
jne 0x463ca0
mov dword [ebp - 0x18], edi
mov al, byte [ecx + 1]
inc ecx
test al, al
je 0x463cd4
nop dword [eax]
movsx eax, al
lea ecx, [ecx + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
mov al, byte [ecx]
test al, al
jne 0x463cc0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
jmp 0x4636aa