Function at 0x475210
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4b98eb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x248
mov eax, dword [esp + 0x258]
test eax, eax
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x10], ecx
je 0x477705
push 0x4bd930
push eax
call fcn.004ab301
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x1c], edi
je 0x477705
mov eax, dword [0xec0e0c]
mov ebp, dword [eax]
lea esi, [ebp + 0x3d308]
mov eax, edi
lea ecx, [ecx]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x475298
test cl, cl
je 0x475294
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x475298
add eax, 2
add esi, 2
test cl, cl
jne 0x475270
xor eax, eax
jmp 0x47529d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov ebx, 0xffff
jne 0x47538d
mov eax, dword [0x652e04]
cmp word [eax + 0x22d5f2], 0
jne 0x476f3b
push 0x4bb448
push 0
call fcn.004ab301
add esp, 8
test eax, eax
je 0x476f3b
push eax
call fcn.004ab7c0
mov ecx, dword [0x652e04]
add esp, 4
add ecx, 0x22d5d4
mov esi, eax
call fcn.004a6200
test eax, eax
je 0x476f3b
mov ecx, dword [0x652e04]
add ecx, 0x22d5d4
call fcn.004a61e0
test eax, eax
je 0x476f3b
mov eax, dword [0x652e04]
cmp word [eax + 0x22d848], bx
je 0x476f3b
lea ecx, [eax + 0x6e4]
call fcn.00457ff0
cmp esi, eax
ja 0x475361
mov eax, dword [0x652e04]
mov ecx, dword [eax + 0x22d84c]
test ecx, ecx
jne 0x476f3b
movzx eax, word [eax + 0x22d848]
mov ecx, dword [0x652e0c]
push esi
push eax
add ecx, 4
call fcn.004223a0
jmp 0x476f3b
mov ecx, dword [0xec0e0c]
mov edx, dword [ecx]
add edx, 0x3d350
push 1
push 0xffffff
push edx
mov ecx, dword [0x652e04]
add ecx, 0x2394
call fcn.0046f5e0
jmp 0x476f3b
lea esi, [ebp + 0x3d6a8]
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4753b9
test cl, cl
je 0x4753b5
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4753b9
add eax, 2
add esi, 2
test cl, cl
jne 0x475395
xor eax, eax
jmp 0x4753be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47554f
mov eax, dword [0x652e04]
cmp word [eax + 0x229c86], 0
jne 0x475496
lea ecx, [eax + 0x229c68]
call fcn.00403750
test eax, eax
jne 0x476f3b
push 0x4bb448
push eax
call fcn.004ab301
add esp, 8
test eax, eax
je 0x476f3b
push eax
call fcn.004ab7c0
mov edx, dword [0x652e04]
mov esi, eax
mov eax, dword [edx + 0x22c04c]
add esp, 4
lea ecx, [eax + esi]
xor eax, eax
jg 0x475471
jl 0x47542a
cmp ecx, 0x77359400
jae 0x475471
test eax, eax
jl 0x475471
jg 0x475434
test ecx, ecx
jb 0x475471
lea ecx, [edx + 0x6e4]
call fcn.00457ff0
cmp esi, eax
ja 0x475457
mov ecx, dword [0x652e0c]
push esi
add ecx, 4
call fcn.00422670
jmp 0x476f3b
mov eax, dword [0xec0e0c]
mov ecx, dword [eax]
push 1
push 0xffffff
add ecx, 0x3d6f0
push ecx
jmp 0x475377
mov eax, dword [0xec0e0c]
mov ecx, dword [eax]
push 1
add ecx, 0x3d738
push 0xffffff
push ecx
lea ecx, [edx + 0x2394]
call fcn.0046f5e0
jmp 0x477705
cmp word [eax + 0x22c4ea], 0
jne 0x476f3b
push 0x4bb448
push 0
call fcn.004ab301
add esp, 8
test eax, eax
je 0x476f3b
push eax
call fcn.004ab7c0
mov edx, dword [0x652e04]
mov esi, eax
mov eax, dword [edx + 0x22c510]
add esp, 4
lea ecx, [eax + esi]
xor eax, eax
jg 0x47552a
jl 0x4754e3
cmp ecx, 0x77359400
jae 0x47552a
test eax, eax
jl 0x47552a
jg 0x4754ed
test ecx, ecx
jb 0x47552a
lea ecx, [edx + 0x6e4]
call fcn.00457ff0
cmp esi, eax
ja 0x475510
mov ecx, dword [0x652e0c]
push esi
add ecx, 4
call fcn.00423430
jmp 0x476f3b
mov edx, dword [0xec0e0c]
mov eax, dword [edx]
push 1
push 0xffffff
add eax, 0x3d6f0
push eax
jmp 0x475377
mov ecx, dword [0xec0e0c]
mov eax, dword [ecx]
push 1
push 0xffffff
add eax, 0x3d738
push eax
lea ecx, [edx + 0x2394]
call fcn.0046f5e0
jmp 0x477705
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3da48]
lea esp, [esp]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x475584
test cl, cl
je 0x475580
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x475584
add eax, 2
add esi, 2
test cl, cl
jne 0x475560
xor eax, eax
jmp 0x475589
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47570d
mov eax, dword [0x652e04]
cmp word [eax + 0x229c86], 0
jne 0x475649
lea ecx, [eax + 0x229c68]
call fcn.00403750
test eax, eax
jne 0x476f3b
push 0x4bb448
push eax
call fcn.004ab301
add esp, 8
test eax, eax
je 0x476f3b
push eax
call fcn.004ab7c0
mov esi, eax
mov eax, dword [0x652e04]
mov edi, dword [eax + 0x22c04c]
add esp, 4
mov ecx, 0x4c81f0
call fcn.0048f0c0
add eax, esi
cmp edi, eax
jae 0x475606
mov ecx, dword [0xec0e0c]
mov edx, dword [ecx]
add edx, 0x3da90
jmp 0x47536f
mov ecx, dword [0x652e04]
add ecx, 0x6e4
call fcn.00457ff0
mov ecx, eax
mov eax, dword [0x652e04]
movzx edx, word [eax + 0x22cd4a]
imul edx, edx, 0x989680
add ecx, esi
cmp edx, ecx
jb 0x4756e7
mov ecx, dword [0x652e0c]
push esi
add ecx, 4
call fcn.004226d0
jmp 0x476f3b
cmp word [eax + 0x22c4ea], 0
jne 0x476f3b
push 0x4bb448
push 0
call fcn.004ab301
add esp, 8
test eax, eax
je 0x476f3b
push eax
call fcn.004ab7c0
mov esi, eax
mov eax, dword [0x652e04]
mov ecx, dword [eax + 0x22c510]
add esp, 4
cmp ecx, esi
jae 0x4756ae
mov ecx, dword [0xec0e0c]
mov edx, dword [ecx]
push 1
push 0xffffff
add edx, 0x3da90
push edx
lea ecx, [eax + 0x2394]
call fcn.0046f5e0
jmp 0x476f3b
lea ecx, [eax + 0x6e4]
call fcn.00457ff0
mov ecx, eax
mov eax, dword [0x652e04]
movzx edx, word [eax + 0x22cd4a]
imul edx, edx, 0x989680
add ecx, esi
cmp edx, ecx
jb 0x4756e7
mov ecx, dword [0x652e0c]
push esi
add ecx, 4
call fcn.00423490
jmp 0x476f3b
mov ecx, dword [0xec0e0c]
mov edx, dword [ecx]
push 1
push 0xffffff
add edx, 0x3dad8
push edx
lea ecx, [eax + 0x2394]
call fcn.0046f5e0
jmp 0x476f3b
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3fae8]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x47573b
test cl, cl
je 0x475737
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x47573b
add eax, 2
add esi, 2
test cl, cl
jne 0x475717
xor eax, eax
jmp 0x475740
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x475a09
mov esi, dword [0x652e04]
cmp word [esi + 0x229c86], ax
jne 0x476f3b
push eax
push eax
push eax
lea eax, [esp + 0x7c]
push eax
lea ecx, [esi + 0x229c68]
call fcn.0041e9a0
cmp word [esp + 0x70], 0x1423
jne 0x4759eb
push 0x4bd930
push 0
call fcn.004ab301
mov edi, eax
add esp, 8
test edi, edi
je 0x476f3b
mov ecx, dword [0xec0e0c]
mov ebp, dword [ecx]
lea esi, [ebp + 0x3fb30]
mov ecx, edi
mov al, byte [ecx]
mov bl, byte [esi]
mov dl, al
cmp al, bl
jne 0x4757cc
test dl, dl
je 0x4757c8
mov al, byte [ecx + 1]
mov bl, byte [esi + 1]
mov dl, al
cmp al, bl
jne 0x4757cc
add ecx, 2
add esi, 2
test dl, dl
jne 0x4757a4
xor ecx, ecx
jmp 0x4757d1
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x475892
push 0x4bb448
push ecx
call fcn.004ab301
add esp, 8
test eax, eax
je 0x476f3b
push 4
push eax
lea ecx, [esp + 0x1c]
push ecx
mov byte [esp + 0x20], 0
mov dword [esp + 0x21], 0
call fcn.004aa2b0
mov al, byte [esp + 0x20]
mov cl, byte [esp + 0x21]
mov dl, byte [esp + 0x22]
mov bl, byte [esp + 0x23]
sub al, 0x30
sub cl, 0x30
sub dl, 0x30
sub bl, 0x30
add esp, 0xc
cmp al, 0xa
mov byte [esp + 0x7d], al
mov byte [esp + 0x7e], cl
mov byte [esp + 0x7f], dl
mov byte [esp + 0x80], bl
jae 0x475878
cmp cl, 0xa
jae 0x475878
cmp dl, 0xa
jae 0x475878
cmp bl, 0xa
jae 0x475878
sub esp, 0x50
mov edi, esp
mov ecx, 0x13
lea esi, [esp + 0xc0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x652e0c]
movsw word es:[edi], word [esi]
push 1
add ecx, 4
movsb byte es:[edi], byte [esi]
call fcn.0042db20
jmp 0x476f3b
mov edx, dword [0xec0e0c]
mov eax, dword [edx]
push 1
push 0xffffff
add eax, 0x3fc08
push eax
jmp 0x475377
lea esi, [ebp + 0x3fb78]
mov ecx, edi
lea ebx, [ebx]
mov al, byte [ecx]
mov bl, byte [esi]
mov dl, al
cmp al, bl
jne 0x4758c8
test dl, dl
je 0x4758c4
mov al, byte [ecx + 1]
mov bl, byte [esi + 1]
mov dl, al
cmp al, bl
jne 0x4758c8
add ecx, 2
add esi, 2
test dl, dl
jne 0x4758a0
xor ecx, ecx
jmp 0x4758cd
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4758fc
sub esp, 0x50
mov edi, esp
mov ecx, 0x13
lea esi, [esp + 0xc0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x652e0c]
movsw word es:[edi], word [esi]
push 2
add ecx, 4
movsb byte es:[edi], byte [esi]
call fcn.0042db20
jmp 0x476f3b
lea esi, [ebp + 0x3fbc0]
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x47592c
test cl, cl
je 0x475928
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x47592c
add eax, 2
add esi, 2
test cl, cl
jne 0x475904
xor eax, eax
jmp 0x475931
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x476f3b
push 0x4bb448
push eax
call fcn.004ab301
add esp, 8
test eax, eax
je 0x476f3b
push 4
push eax
lea eax, [esp + 0x1c]
push eax
mov byte [esp + 0x20], 0
mov dword [esp + 0x21], 0
call fcn.004aa2b0
mov al, byte [esp + 0x20]
mov cl, byte [esp + 0x21]
mov dl, byte [esp + 0x22]
mov bl, byte [esp + 0x23]
sub al, 0x30
sub cl, 0x30
sub dl, 0x30
sub bl, 0x30
add esp, 0xc
cmp al, 0xa
mov byte [esp + 0x7d], al
mov byte [esp + 0x7e], cl
mov byte [esp + 0x7f], dl
mov byte [esp + 0x80], bl
jae 0x4759d8
cmp cl, 0xa
jae 0x4759d8
cmp dl, 0xa
jae 0x4759d8
cmp bl, 0xa
jae 0x4759d8
sub esp, 0x50
mov edi, esp
mov ecx, 0x13
lea esi, [esp + 0xc0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x652e0c]
movsw word es:[edi], word [esi]
push 3
add ecx, 4
movsb byte es:[edi], byte [esi]
call fcn.0042db20
jmp 0x476f3b
mov ecx, dword [0xec0e0c]
mov edx, dword [ecx]
add edx, 0x3fc08
jmp 0x47536f
push 1
push 0xffffff
add ebp, 0x3fc50
push ebp
lea ecx, [esi + 0x2394]
call fcn.0046f5e0
jmp 0x476f3b
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3e188]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x475a37
test cl, cl
je 0x475a33
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x475a37
add eax, 2
add esi, 2
test cl, cl
jne 0x475a13
xor eax, eax
jmp 0x475a3c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x475b54
push 0x4bb448
push eax
call fcn.004ab301
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x476f3b
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x475a60
sub eax, edx
cmp eax, 0x11
jge 0x476f3b
mov edi, dword [esp + 0x10]
xor edx, edx
add edi, 0x197c
mov dword [esp + 0x14], edi
mov esi, ebp
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x475aaa
test cl, cl
je 0x475aa6
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x475aaa
add eax, 2
add esi, 2
test cl, cl
jne 0x475a86
xor eax, eax
jmp 0x475aaf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x477705
inc edx
add edi, 0x11
cmp edx, 0xa
jl 0x475a82
mov eax, dword [esp + 0x14]
xor edx, edx
jmp 0x475ad0
mov edi, 0x4bb448
mov esi, eax
mov ecx, 1
xor ebx, ebx
repe cmpsb byte [esi], byte es:[edi]
je 0x475b25
inc edx
add eax, 0x11
cmp edx, 0xa
jl 0x475ad0
mov eax, dword [0xe94c64]
cdq
mov esi, 0xa
idiv esi
mov esi, dword [esp + 0x10]
mov ecx, ebp
mov eax, edx
shl eax, 4
add eax, esi
lea edx, [edx + eax + 0x197c]
sub edx, ebp
mov edi, edi
mov al, byte [ecx]
mov byte [ecx + edx], al
inc ecx
test al, al
jne 0x475b10
inc dword [0xe94c64]
jmp 0x476f3b
mov esi, dword [esp + 0x10]
mov ecx, edx
shl ecx, 4
add ecx, esi
lea edx, [edx + ecx + 0x197c]
mov eax, ebp
sub edx, ebp
jmp 0x475b40
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x475b40
mov eax, 1
jmp 0x477707
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3e218]
mov edi, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x475b84
test cl, cl
je 0x475b80
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x475b84
add eax, 2
add esi, 2
test cl, cl
jne 0x475b60
xor eax, eax
jmp 0x475b89
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x475cdb
mov ebp, dword [esp + 0x10]
mov byte [esp + 0x70], al
mov ecx, 0x16
lea edi, [esp + 0x71]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov byte [esp + 0xd4], 0
mov ecx, 0x16
lea edi, [esp + 0xd5]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
add ebp, 0x19d1
mov ebx, 5
lea ecx, [ecx]
lea eax, [ebp - 0x55]
mov edi, 0x4bb448
mov esi, eax
mov ecx, 1
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x475c23
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x475be7
lea edi, [esp + 0x70]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x475bf5
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x70]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x475c12
mov ax, word [0x4bd92c]
mov word [edi], ax
mov edi, 0x4bb448
mov esi, ebp
mov ecx, 1
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x475c82
mov eax, ebp
mov edx, ebp
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x475c40
lea edi, [esp + 0xd4]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x475c51
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0xd4]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x475c71
mov ax, word [0x4bd92c]
mov word [edi], ax
add ebp, 0x11
dec ebx
jne 0x475bd0
mov ecx, dword [0xec0e0c]
mov edx, dword [ecx]
mov esi, dword [esp + 0x10]
push 1
push 0xff00
add edx, 0x3e260
push edx
mov ecx, esi
call fcn.0046f5e0
push 1
push 0xff00
lea eax, [esp + 0x78]
push eax
mov ecx, esi
call fcn.0046f5e0
push 1
push 0xff00
lea ecx, [esp + 0xdc]
push ecx
mov ecx, esi
call fcn.0046f5e0
jmp 0x476f3b
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3e1d0]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x475d09
test cl, cl
je 0x475d05
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x475d09
add eax, 2
add esi, 2
test cl, cl
jne 0x475ce5
xor eax, eax
jmp 0x475d0e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x475d8a
push 0x4bb448
push eax
call fcn.004ab301
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x476f3b
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x475d30
sub eax, edx
mov ebx, eax
cmp ebx, 0x11
jge 0x476f3b
mov edi, dword [esp + 0x10]
xor esi, esi
add edi, 0x197c
push ebx
push ebp
push edi
call fcn.004ab990
add esp, 0xc
test eax, eax
je 0x475d6d
inc esi
add edi, 0x11
cmp esi, 0xa
jl 0x475d50
jmp 0x476f3b
mov ecx, dword [esp + 0x10]
mov eax, esi
shl eax, 4
add eax, ecx
mov byte [esi + eax + 0x197c], 0
mov eax, 1
jmp 0x477707
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3e528]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x475db8
test cl, cl
je 0x475db4
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x475db8
add eax, 2
add esi, 2
test cl, cl
jne 0x475d94
xor eax, eax
jmp 0x475dbd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4761b0
push 0x4bb448
push eax
call fcn.004ab301
mov esi, eax
mov eax, dword [0x652e04]
mov ecx, dword [eax + 0x22cd46]
add esp, 8
test esi, esi
mov dword [esp + 0x14], esi
je 0x476028
test ecx, ecx
je 0x476005
mov ecx, dword [0xec0e0c]
mov eax, dword [ecx]
mov ebp, dword [eax + 0x3e8c0]
test ebp, ebp
mov dword [esp + 0x20], 0
jle 0x475e5f
lea edi, [eax + 0x3ec68]
jmp 0x475e20
mov esi, dword [esp + 0x14]
lea ebx, [ebx]
mov ecx, edi
mov bl, byte [ecx]
mov dl, bl
cmp bl, byte [esi]
jne 0x475e46
test dl, dl
je 0x475e42
mov bl, byte [ecx + 1]
mov dl, bl
cmp bl, byte [esi + 1]
jne 0x475e46
add ecx, 2
add esi, 2
test dl, dl
jne 0x475e22
xor ecx, ecx
jmp 0x475e4b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je 0x475e7a
mov ecx, dword [esp + 0x20]
inc ecx
add edi, 0x48
cmp ecx, ebp
mov dword [esp + 0x20], ecx
jl 0x475e16
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add eax, 0x3e690
push eax
call fcn.0046f5e0
jmp 0x476f3b
cmp byte [esp + 0x20], 0xff
je 0x475e5f
mov edx, dword [0x652e04]
add edx, 0x22cd0a
push 0x4bd930
push edx
call fcn.004ab301
add esp, 8
test eax, eax
je 0x477705
xor ecx, ecx
mov dword [esp + 0x25], ecx
mov dword [esp + 0x29], ecx
mov dword [esp + 0x2d], ecx
lea edx, [esp + 0x24]
mov byte [esp + 0x24], 0
mov dword [esp + 0x31], ecx
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x475ec0
mov edi, dword [0x652e08]
mov ecx, edi
call fcn.00401910
mov ebp, dword [edi + 0xd4a4]
mov dl, byte [eax + 0x1a]
mov eax, dword [ebp]
cmp eax, ebp
mov byte [esp + 0x3b], dl
mov dword [esp + 0x14], eax
je 0x475f88
mov ebx, dword [sym.imp.USER32.dll_PtInRect]
lea esp, [esp]
mov esi, dword [eax + 0x10]
test esi, esi
je 0x475f73
mov al, byte [esp + 0x3b]
cmp al, byte [esi + 0x1a]
jne 0x475f73
lea ecx, [esp + 0xcc]
push ecx
mov ecx, esi
call fcn.004939b0
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
lea ecx, [esp + 0x64]
push ecx
mov ecx, edi
call fcn.0040d050
push eax
call ebx
test eax, eax
je 0x475f6d
add esi, 4
lea eax, [esp + 0x24]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x475f64
test cl, cl
je 0x475f60
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x475f64
add eax, 2
add esi, 2
test cl, cl
jne 0x475f40
xor eax, eax
jmp 0x475f69
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x475fac
mov edi, dword [0x652e08]
lea ecx, [esp + 0x14]
call fcn.0040c5b0
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x475f00
mov ecx, dword [0xec0e0c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add edx, 0x3e690
push edx
call fcn.0046f5e0
jmp 0x476f3b
mov ecx, dword [0x652e08]
call fcn.00401910
mov eax, dword [eax + 0x16]
cmp ax, 0xffff
je 0x475f88
movzx ecx, byte [esp + 0x20]
push ecx
movzx edx, ax
mov eax, dword [0xec0e0c]
mov ecx, dword [eax]
push edx
add ecx, 0x3e910
push ecx
lea edx, [esp + 0x7c]
push str._s__d__d
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [0x652e0c]
add esp, 0x14
push 1
lea eax, [esp + 0x74]
push eax
add ecx, 4
call fcn.0043a310
jmp 0x476f3b
mov eax, dword [0xec0e0c]
mov ecx, dword [eax]
push 1
add ecx, 0x3e570
push 0xff00
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0046f5e0
jmp 0x476f3b
test ecx, ecx
je 0x47618c
add eax, 0x22cd0a
push 0x4bd930
push eax
call fcn.004ab301
mov edi, eax
add esp, 8
test edi, edi
je 0x477705
mov esi, dword [esp + 0x10]
push 3
mov ecx, esi
call fcn.0046fae0
cmp eax, 0x32
jge 0x476080
mov edx, dword [0xec0e0c]
mov eax, dword [edx]
push 1
push 0xff00
add eax, 0x3e5b8
push eax
mov ecx, esi
call fcn.0046f5e0
jmp 0x477705
mov ecx, dword [0x652e10]
mov al, byte [ecx + 0x13dc]
cmp al, 0x9c
je 0x47616b
cmp al, 0xb2
je 0x47616b
cmp al, 0xc8
je 0x47616b
mov ecx, dword [0x4c9d70]
test ecx, ecx
jne 0x47614a
mov ecx, dword [0x4c9d94]
test ecx, ecx
jne 0x47614a
mov edx, dword [0x652e04]
mov ecx, dword [edx + 0x22dc70]
test ecx, ecx
jne 0x477705
movzx eax, al
lea eax, [eax + eax*4]
cmp byte [eax*8 + 0xe94c70], 0x65
je 0x4762dc
mov esi, dword [0x652e08]
mov ecx, esi
call fcn.00401910
test eax, eax
je 0x476f3b
mov ecx, esi
call fcn.00401910
cmp byte [eax + 0x2e], 3
je 0x477705
lea edx, [esp + 0x24]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x476116
mov ecx, esi
call fcn.00401910
mov ecx, esi
call fcn.00401910
mov ecx, esi
call fcn.00401910
mov ecx, dword [0x652e0c]
push 0
add ecx, 4
call fcn.00423db0
jmp 0x476f3b
mov eax, dword [0xec0e0c]
mov ecx, dword [eax]
push 1
add ecx, 0x3e648
push 0xff00
push ecx
mov ecx, esi
call fcn.0046f5e0
jmp 0x477705
mov edx, dword [0xec0e0c]
mov eax, dword [edx]
push 1
push 0xff00
add eax, 0x3e600
push eax
mov ecx, esi
call fcn.0046f5e0
jmp 0x477705
mov ecx, dword [0xec0e0c]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add edx, 0x3e570
push edx
call fcn.0046f5e0
jmp 0x476f3b
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3f008]
lea ebx, [ebx]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4761e4
test cl, cl
je 0x4761e0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4761e4
add eax, 2
add esi, 2
test cl, cl
jne 0x4761c0
xor eax, eax
jmp 0x4761e9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x476397
mov esi, dword [0x652e08]
mov ecx, esi
call fcn.00401910
test eax, eax
je 0x476f3b
mov ecx, esi
call fcn.00401910
cmp word [eax + 0x1a8], bx
je 0x47637b
mov eax, dword [0x652e04]
mov ecx, dword [eax + 0x22dc68]
test ecx, ecx
jne 0x476245
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add ebp, 0x3f050
push ebp
call fcn.0046f5e0
jmp 0x477705
mov ecx, dword [0x652e10]
mov al, byte [ecx + 0x13dc]
cmp al, 0x35
je 0x47635f
cmp al, 0x4f
je 0x47635f
mov esi, dword [esp + 0x10]
push 3
mov ecx, esi
call fcn.0046fae0
cmp eax, 0x32
jge 0x476294
mov edx, dword [0xec0e0c]
mov eax, dword [edx]
push 1
push 0xff00
add eax, 0x3f128
push eax
mov ecx, esi
call fcn.0046f5e0
jmp 0x477705
mov eax, dword [0x4c9d70]
test eax, eax
jne 0x47633e
mov eax, dword [0x4c9d94]
test eax, eax
jne 0x47633e
mov ecx, dword [0x652e04]
mov eax, dword [ecx + 0x22dc70]
test eax, eax
jne 0x477705
mov edx, dword [0x652e10]
movzx eax, byte [edx + 0x13dc]
lea eax, [eax + eax*4]
cmp byte [eax*8 + 0xe94c70], 0x65
jne 0x4762fe
mov ecx, dword [0xec0e0c]
mov edx, dword [ecx]
push 1
push 0xff00
add edx, 0x86678
push edx
mov ecx, esi
call fcn.0046f5e0
jmp 0x477705
mov esi, dword [0x652e08]
mov ecx, esi
call fcn.00401910
test eax, eax
je 0x476f3b
mov ecx, esi
call fcn.00401910
cmp byte [eax + 0x2e], 3
je 0x477705
mov ecx, dword [0x652e0c]
push 0x4bb448
push 0
add ecx, 4
call fcn.00423e10
jmp 0x476f3b
mov eax, dword [0xec0e0c]
mov ecx, dword [eax]
push 1
add ecx, 0x3f170
push 0xff00
push ecx
mov ecx, esi
call fcn.0046f5e0
jmp 0x477705
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add ebp, 0x3f0e0
push ebp
call fcn.0046f5e0
jmp 0x477705
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add ebp, 0x3f098
push ebp
call fcn.0046f5e0
jmp 0x476f3b
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3f3a8]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4763c5
test cl, cl
je 0x4763c1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4763c5
add eax, 2
add esi, 2
test cl, cl
jne 0x4763a1
xor eax, eax
jmp 0x4763ca
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4765a7
mov eax, dword [0x652e04]
mov edi, 0x4bb448
lea esi, [eax + 0x22ccb5]
mov ecx, 1
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x47658b
cmp word [eax + 0x22cd4a], 0x20
jb 0x47656f
push 0x4bd930
push edx
call fcn.004ab301
add esp, 8
test eax, eax
je 0x477705
mov ecx, eax
lea esi, [ecx + 1]
lea ebx, [ebx]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x476420
sub ecx, esi
cmp ecx, 0x10
ja 0x47682e
mov ecx, eax
xor esi, esi
lea edi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x476440
sub ecx, edi
test ecx, ecx
jle 0x47646d
lea ecx, [ecx]
cmp byte [esi + eax], 0x27
je 0x47693a
mov ecx, eax
inc esi
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x476460
sub ecx, edi
cmp esi, ecx
jl 0x476450
xor ecx, ecx
mov dword [esp + 0x25], ecx
mov dword [esp + 0x29], ecx
mov dword [esp + 0x2d], ecx
lea edx, [esp + 0x24]
mov byte [esp + 0x24], 0
mov dword [esp + 0x31], ecx
sub edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x476490
push 0x4bd930
push 0
mov byte [esp + 0x1c], cl
call fcn.004ab301
add esp, 8
test eax, eax
je 0x476545
xor edx, edx
mov dword [esp + 0x3d], edx
mov dword [esp + 0x41], edx
mov dword [esp + 0x45], edx
mov dword [esp + 0x49], edx
mov dword [esp + 0x4d], edx
mov dword [esp + 0x51], edx
mov dword [esp + 0x55], edx
mov word [esp + 0x59], dx
mov byte [esp + 0x5b], dl
lea edx, [esp + 0x3c]
mov byte [esp + 0x3c], 0
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4764e7
mov eax, dword [0xec0e0c]
mov edi, dword [eax]
xor edx, edx
add edi, 0xd7b48
lea esi, [esp + 0x3c]
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x47652a
test cl, cl
je 0x476526
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x47652a
add eax, 2
add esi, 2
test cl, cl
jne 0x476506
xor eax, eax
jmp 0x47652f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x476541
inc edx
add edi, 0x3a0
cmp edx, 0x10
jl 0x476500
jmp 0x476545
mov byte [esp + 0x14], dl
mov ecx, dword [0x652e08]
mov eax, dword [ecx + 0x94]
mov edx, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [0x652e0c]
push eax
add ecx, 4
call fcn.00422e80
jmp 0x476f3b
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add ebp, 0x3f438
push ebp
call fcn.0046f5e0
jmp 0x476f3b
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add ebp, 0x3f4c8
push ebp
call fcn.0046f5e0
jmp 0x476f3b
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3f1b8]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4765d5
test cl, cl
je 0x4765d1
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4765d5
add eax, 2
add esi, 2
test cl, cl
jne 0x4765b1
xor eax, eax
jmp 0x4765da
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x47661f
push 0x4bd930
push eax
call fcn.004ab301
add esp, 8
test eax, eax
je 0x477705
xor ecx, ecx
mov dword [esp + 0x25], ecx
mov dword [esp + 0x29], ecx
mov dword [esp + 0x2d], ecx
lea edx, [esp + 0x24]
mov byte [esp + 0x24], 0
mov dword [esp + 0x31], ecx
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x476611
push 1
jmp 0x47669c
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3f200]
lea esp, [esp]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x476654
test cl, cl
je 0x476650
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x476654
add eax, 2
add esi, 2
test cl, cl
jne 0x476630
xor eax, eax
jmp 0x476659
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4766b4
push 0x4bd930
push eax
call fcn.004ab301
add esp, 8
test eax, eax
je 0x477705
xor ecx, ecx
mov dword [esp + 0x25], ecx
mov dword [esp + 0x29], ecx
mov dword [esp + 0x2d], ecx
lea edx, [esp + 0x24]
mov byte [esp + 0x24], 0
mov dword [esp + 0x31], ecx
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x476690
push 2
mov ecx, dword [0x652e0c]
lea edx, [esp + 0x28]
push edx
add ecx, 4
call fcn.00423ea0
jmp 0x476f3b
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3f3f0]
mov edi, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4766e4
test cl, cl
je 0x4766e0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4766e4
add eax, 2
add esi, 2
test cl, cl
jne 0x4766c0
xor eax, eax
jmp 0x4766e9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x476a34
mov eax, dword [0x652e04]
mov edi, 0x4bb448
lea esi, [eax + 0x22ccb5]
mov ecx, 1
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x476727
lea ecx, [eax + 0x22cca4]
push ecx
lea ecx, [eax + 0x22dc08]
call fcn.00443f20
test eax, eax
jne 0x47674f
mov eax, dword [0x652e04]
mov edi, 0x4bb448
lea esi, [eax + 0x22ccb5]
mov ecx, 1
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x476a11
mov ecx, dword [eax + 0x22dc68]
test ecx, ecx
je 0x476a11
push 0x4bd930
push 0
call fcn.004ab301
add esp, 8
test eax, eax
je 0x477705
xor ecx, ecx
mov dword [esp + 0x5d], ecx
mov dword [esp + 0x61], ecx
mov dword [esp + 0x65], ecx
lea edx, [esp + 0x5c]
mov byte [esp + 0x5c], 0
mov dword [esp + 0x69], ecx
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x476783
xor edi, edi
nop
mov ecx, dword [0x652e04]
push edi
add ecx, 0x22dc08
lea esi, [esp + 0x60]
call fcn.00443fd0
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4767ce
test cl, cl
je 0x4767ca
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4767ce
add eax, 2
add esi, 2
test cl, cl
jne 0x4767a6
xor eax, eax
jmp 0x4767d3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x476800
inc edi
cmp edi, 0x32
jl 0x476790
mov eax, dword [0xec0e0c]
mov ecx, dword [eax]
push 1
add ecx, 0x3f510
push 0xff00
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0046f5e0
jmp 0x476f3b
push 0x4bd930
push 0
call fcn.004ab301
add esp, 8
test eax, eax
je 0x477705
mov ecx, eax
lea esi, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x476820
sub ecx, esi
cmp ecx, 0x10
jbe 0x476851
mov eax, dword [0xec0e0c]
mov ecx, dword [eax]
push 1
add ecx, 0x3f558
push 0xff00
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0046f5e0
jmp 0x477705
mov ecx, eax
xor esi, esi
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x476858
sub ecx, edi
test ecx, ecx
jle 0x476882
cmp byte [esi + eax], 0x27
je 0x47693a
mov ecx, eax
inc esi
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x476875
sub ecx, edi
cmp esi, ecx
jl 0x476865
xor ecx, ecx
mov dword [esp + 0x25], ecx
mov dword [esp + 0x29], ecx
mov dword [esp + 0x2d], ecx
lea edx, [esp + 0x24]
mov byte [esp + 0x24], 0
mov dword [esp + 0x31], ecx
sub edx, eax
nop
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4768a0
push 0x4bd930
push 0
mov byte [esp + 0x28], cl
call fcn.004ab301
add esp, 8
test eax, eax
je 0x476978
xor edx, edx
mov dword [esp + 0x3d], edx
mov dword [esp + 0x41], edx
mov dword [esp + 0x45], edx
mov dword [esp + 0x49], edx
mov dword [esp + 0x4d], edx
mov dword [esp + 0x51], edx
mov dword [esp + 0x55], edx
mov word [esp + 0x59], dx
mov byte [esp + 0x5b], dl
lea edx, [esp + 0x3c]
mov byte [esp + 0x3c], 0
sub edx, eax
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x4768f7
mov eax, dword [0xec0e0c]
mov edi, dword [eax]
xor edx, edx
add edi, 0xd7b48
lea esi, [esp + 0x3c]
mov eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x47695d
test cl, cl
je 0x476936
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x47695d
add eax, 2
add esi, 2
test cl, cl
jne 0x476916
xor eax, eax
jmp 0x476962
mov edx, dword [0xec0e0c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add eax, 0x3f5a0
push eax
call fcn.0046f5e0
jmp 0x477705
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x476974
inc edx
add edi, 0x3a0
cmp edx, 0x10
jl 0x476910
jmp 0x476978
mov byte [esp + 0x20], dl
mov ecx, dword [0x652e08]
mov ebp, dword [ecx + 0xd4a4]
mov eax, dword [ebp]
cmp eax, ebp
mov dword [esp + 0x14], eax
je 0x476f3b
mov edi, dword [eax + 0x10]
test edi, edi
je 0x4769d2
lea esi, [esp + 0x5c]
lea eax, [edi + 4]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4769c9
test cl, cl
je 0x4769c5
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4769c9
add eax, 2
add esi, 2
test cl, cl
jne 0x4769a1
xor eax, eax
jmp 0x4769ce
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4769e8
lea ecx, [esp + 0x14]
call fcn.0040c5b0
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x476993
jmp 0x476f3b
mov eax, dword [esp + 0x20]
xor edx, edx
mov dx, word [edi + 0x16]
push eax
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [0x652e0c]
add ecx, 4
push edx
call fcn.00422e80
mov eax, 1
jmp 0x477707
mov edx, dword [0xec0e0c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add eax, 0x3f480
push eax
call fcn.0046f5e0
jmp 0x476f3b
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3f748]
mov edi, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x476a64
test cl, cl
je 0x476a60
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x476a64
add eax, 2
add esi, 2
test cl, cl
jne 0x476a40
xor eax, eax
jmp 0x476a69
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x476b3b
mov ebx, dword [0x652e04]
mov edi, 0x4bb448
lea esi, [ebx + 0x22ccb5]
mov ecx, 1
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x476b1f
mov eax, dword [ebx + 0x22dc68]
test eax, eax
je 0x476b1f
mov eax, dword [0x4c9d70]
test eax, eax
je 0x476b03
mov eax, dword [ebx + 0x22dc6c]
test eax, eax
jne 0x476ae7
mov ecx, dword [0x652e08]
call fcn.00401910
test eax, eax
je 0x476f3b
movzx eax, word [eax + 0x1a8]
mov ecx, dword [0x652e0c]
add ebx, 0x22dc40
push ebx
push eax
add ecx, 4
call fcn.00423360
jmp 0x476f3b
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add ebp, 0x3f820
push ebp
call fcn.0046f5e0
jmp 0x476f3b
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add ebp, 0x3f7d8
push ebp
call fcn.0046f5e0
jmp 0x476f3b
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add ebp, 0x3f790
push ebp
call fcn.0046f5e0
jmp 0x476f3b
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3fe88]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x476b69
test cl, cl
je 0x476b65
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x476b69
add eax, 2
add esi, 2
test cl, cl
jne 0x476b45
xor eax, eax
jmp 0x476b6e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x476c91
mov eax, dword [0x652e04]
cmp word [eax + 0x22f6be], bx
jne 0x476f3b
mov esi, dword [0x652e08]
mov ecx, esi
call fcn.00401910
test eax, eax
je 0x476f3b
mov ecx, esi
call fcn.00401910
mov al, byte [eax + 0x1a]
test al, al
je 0x476bd3
cmp al, 0xc
je 0x476bd3
cmp al, 0x18
je 0x476bd3
cmp al, 0x96
jae 0x476bd3
mov ecx, dword [esp + 0x10]
push 1
push 0xff00
add ebp, 0x3ffa8
push ebp
call fcn.0046f5e0
jmp 0x476f3b
movzx eax, al
lea ecx, [eax + eax*4]
mov al, byte [ecx*8 + 0xe94c70]
cmp al, 4
je 0x476bb7
cmp al, 5
je 0x476bb7
cmp al, 6
je 0x476bb7
mov ecx, esi
call fcn.00401910
mov ecx, dword [eax + 0x23]
mov eax, dword [eax + 0x27]
add eax, 0x20
sar eax, 5
sar ecx, 6
push eax
push ecx
mov ecx, esi
call fcn.0040ce70
test eax, eax
je 0x476c6e
mov ecx, dword [0x652e04]
add ecx, 0x22f6a0
call fcn.004989c0
mov edx, dword [0x652e08]
mov eax, dword [edx + 0x94]
mov ecx, dword [0x652e04]
push eax
add ecx, 0x22f6a0
call fcn.004981c0
mov ecx, dword [0x652e08]
call fcn.00401910
mov ecx, dword [0x652e04]
add eax, 4
push eax
add ecx, 0x22f6a0
call fcn.004981d0
mov ecx, dword [0x652e04]
call fcn.00454b70
jmp 0x476f3b
mov eax, dword [0xec0e0c]
mov ecx, dword [eax]
push 1
add ecx, 0x3ffa8
push 0xff00
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0046f5e0
jmp 0x476f3b
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3fed0]
jmp 0x476ca0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x476cc4
test cl, cl
je 0x476cc0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x476cc4
add eax, 2
add esi, 2
test cl, cl
jne 0x476ca0
xor eax, eax
jmp 0x476cc9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x476e70
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3ff18]
jmp 0x476ce0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x476d04
test cl, cl
je 0x476d00
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x476d04
add eax, 2
add esi, 2
test cl, cl
jne 0x476ce0
xor eax, eax
jmp 0x476d09
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x476e70
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x3ff60]
jmp 0x476d20
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x476d44
test cl, cl
je 0x476d40
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x476d44
add eax, 2
add esi, 2
test cl, cl
jne 0x476d20
xor eax, eax
jmp 0x476d49
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x476d9c
push 0x4bb448
push eax
call fcn.004ab301
add esp, 8
test eax, eax
je 0x476d85
mov ecx, dword [esp + 0x10]
push eax
mov byte [ecx + 0x185c], 2
add ecx, 0x181c
push 0x4bd91c
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x476f3b
mov eax, dword [esp + 0x10]
mov byte [eax + 0x185c], 0
mov byte [eax + 0x181c], 0
jmp 0x476f3b
mov esi, dword [esp + 0x1c]
mov edi, 0x4bd914
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x476f3b
mov dl, byte [0x4bd912]
mov byte [esp + 0xd4], al
mov ecx, 0x1f
lea edi, [esp + 0xd5]
rep stosd dword es:[edi], eax
mov cx, word [0x4bd910]
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x14]
push eax
mov word [esp + 0x24], cx
mov byte [esp + 0x26], dl
call fcn.004ab0ce
lea ecx, [esp + 0x18]
push ecx
call fcn.004aaf4e
mov ecx, dword [eax + 8]
mov edx, 0xc
add esp, 8
cmp ecx, edx
jle 0x476e1b
mov cx, word [0x4bd90c]
mov word [esp + 0x20], cx
mov cl, byte [0x4bd90e]
mov byte [esp + 0x22], cl
mov ecx, dword [eax + 8]
cmp ecx, edx
jle 0x476e28
add ecx, 0xfffffff4
mov dword [eax + 8], ecx
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x476e32
mov dword [eax + 8], edx
lea edx, [esp + 0x20]
push edx
push eax
call fcn.004abfbb
add esp, 4
push eax
lea eax, [esp + 0xdc]
push str.__.19s__s_
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
push 1
push ebx
lea ecx, [esp + 0xdc]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0046f5e0
jmp 0x476f3b
mov edx, dword [0x652e04]
cmp word [edx + 0x22f6be], 0
jne 0x476f3b
push 0x4bd930
push 0
call fcn.004ab301
mov esi, eax
add esp, 8
test esi, esi
je 0x476f3b
xor eax, eax
mov byte [esp + 0x70], 0
mov ecx, 0x12
lea edi, [esp + 0x71]
rep stosd dword es:[edi], eax
lea edx, [esp + 0x70]
stosw word es:[edi], ax
mov eax, esi
sub edx, esi
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x476ec0
lea eax, [esp + 0x70]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x476ed1
sub eax, edx
cmp eax, 0xa
jg 0x476ee8
jne 0x476f00
cmp byte [esp + 0x70], 0x32
jle 0x476f00
mov ecx, dword [0x652e04]
push 0
add ecx, 0x22f6a0
call fcn.004981f0
jmp 0x477705
lea eax, [esp + 0x70]
push eax
call fcn.004ab7c0
cdq
add esp, 4
test edx, edx
jg 0x476f28
jl 0x476f1b
cmp eax, 0x77359400
jae 0x476f28
test edx, edx
jl 0x476f28
jg 0x476f25
test eax, eax
jb 0x476f28
push eax
jmp 0x476f2a
push 0
mov ecx, dword [0x652e04]
add ecx, 0x22f6a0
call fcn.004981f0
mov ebp, dword [esp + 0x1c]
mov edi, str.font
mov esi, ebp
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x476fe4
push 0x4bb448
push edx
call fcn.004ab301
mov esi, eax
add esp, 8
test esi, esi
je 0x477705
xor eax, eax
mov byte [esp + 0x154], 0
mov ecx, 0x40
lea edi, [esp + 0x155]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x154]
push 0x104
push eax
call fcn.004ab591
lea edi, [esp + 0x15c]
add esp, 8
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x476fa5
mov ecx, dword [str._ini.ini]
mov edx, dword [0x4bbc80]
mov al, byte [0x4bbc84]
mov dword [edi], ecx
lea ecx, [esp + 0x154]
push ecx
push esi
push str.font
mov dword [edi + 4], edx
push str.FONT
mov byte [edi + 8], al
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x477705
mov edi, str.CHATLOG
mov esi, ebp
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x477664
mov edi, str.chatlog
mov esi, ebp
mov ecx, 8
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x477664
mov ecx, dword [0xec0e0c]
mov eax, dword [ecx]
add eax, 0x40228
mov esi, ebp
nop
mov dl, byte [esi]
mov bl, byte [eax]
mov cl, dl
cmp dl, bl
jne 0x477048
test cl, cl
je 0x477044
mov dl, byte [esi + 1]
mov bl, byte [eax + 1]
mov cl, dl
cmp dl, bl
jne 0x477048
add esi, 2
add eax, 2
test cl, cl
jne 0x477020
xor eax, eax
jmp 0x47704d
sbb eax, eax
sbb eax, 0xffffffff
xor ebx, ebx
cmp eax, ebx
jne 0x47710a
push 0x4bb448
push ebx
call fcn.004ab301
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x477705
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x477072
sub eax, edx
mov esi, eax
mov eax, dword [0x652e04]
cmp word [eax + 0x22cd4a], 0x6e
jb 0x4770e7
mov ebx, dword [esp + 0x10]
push 3
mov ecx, ebx
call fcn.0046fae0
cmp eax, 0x64
jl 0x4770c5
cmp esi, 0x4b
jge 0x477705
test esi, esi
jle 0x477705
mov ecx, dword [0x652e0c]
push 0
push edi
add ecx, 4
call fcn.0043a470
jmp 0x477705
mov ecx, dword [0xec0e0c]
mov edx, dword [ecx]
push 1
push 0xff00
add edx, 0x402b8
push edx
mov ecx, ebx
call fcn.0046f5e0
jmp 0x477705
mov eax, dword [0xec0e0c]
mov ecx, dword [eax]
push 1
add ecx, 0x40270
push 0xff00
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0046f5e0
jmp 0x477705
mov edi, str.music
mov esi, ebp
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4771ae
push 0x4bd930
push ebx
call fcn.004ab301
add esp, 8
cmp eax, ebx
je 0x477705
mov edi, 0x4bd8e4
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x47716f
mov eax, dword [0x652e10]
xor ecx, ecx
mov dword [0xebca88], 1
mov cl, byte [eax + 0x13dc]
push ecx
mov ecx, 0xeac580
call fcn.00484c70
jmp 0x477705
mov edi, 0x4bd8e0
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x477705
push 0xff
mov ecx, 0xeac580
call fcn.00484c70
mov eax, dword [0xebcba4]
cmp eax, ebx
je 0x4771a3
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
mov dword [0xebca88], ebx
jmp 0x477705
mov edi, str.sound
mov esi, ebp
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4773e3
push 0x4bd930
push ebx
call fcn.004ab301
add esp, 8
cmp eax, ebx
je 0x477705
mov edi, 0x4bd8e4
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x477275
mov eax, dword [0x65324c]
mov dword [eax + 0x2888], ebx
movzx eax, byte [0xec2300]
sub eax, ebx
je 0x477210
dec eax
je 0x47722f
dec eax
jne 0x477705
mov ecx, dword [0x65324c]
push 2
call fcn.0049d1c0
mov ecx, dword [0x65324c]
push 1
call fcn.0049d1c0
jmp 0x477705
cmp dword [0xec2304], 0x15e
mov ecx, dword [0x65324c]
push 1
jl 0x47725c
push 2
call fcn.0049d150
mov ecx, dword [0x65324c]
push 1
call fcn.0049d1c0
jmp 0x477705
push 1
call fcn.0049d150
mov ecx, dword [0x65324c]
push 2
call fcn.0049d1c0
jmp 0x477705
mov edi, 0x4bd8e0
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4772bf
movzx eax, byte [0xec2300]
dec eax
jne 0x4772ab
mov ecx, dword [0x65324c]
push 2
call fcn.0049d1c0
mov ecx, dword [0x65324c]
push 1
call fcn.0049d1c0
mov eax, dword [0x65324c]
mov dword [eax + 0x2888], 1
jmp 0x477705
mov edi, str.surround
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4772e3
mov ecx, dword [0x65324c]
push 8
call fcn.0049cb10
jmp 0x477705
mov edi, str.headphone
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x477307
mov ecx, dword [0x65324c]
push 1
call fcn.0049cb10
jmp 0x477705
mov edi, str.mono
mov esi, eax
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x47732b
mov ecx, dword [0x65324c]
push 2
call fcn.0049cb10
jmp 0x477705
mov edi, str.quad
mov esi, eax
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x47734f
mov ecx, dword [0x65324c]
push 3
call fcn.0049cb10
jmp 0x477705
mov edi, 0x4bd8ac
mov esi, eax
mov ecx, 4
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x477373
mov ecx, dword [0x65324c]
push 4
call fcn.0049cb10
jmp 0x477705
mov edi, str.narrow
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x477397
mov ecx, dword [0x65324c]
push 5
call fcn.0049cb10
jmp 0x477705
mov edi, str.wide
mov esi, eax
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4773bb
mov ecx, dword [0x65324c]
push 6
call fcn.0049cb10
jmp 0x477705
mov esi, eax
mov edi, 0x4bd898
mov ecx, 4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x477705
mov ecx, dword [0x65324c]
push 7
call fcn.0049cb10
jmp 0x477705
mov edi, 0x4bd88c
mov esi, ebp
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4774fe
push 0x4bd930
push edx
call fcn.004ab301
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x477705
push 0x4bd884
lea ecx, [esp + 0x40]
xor ebp, ebp
call fcn.0040b070
mov edi, 0x4bd884
mov esi, ebx
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
mov dword [esp + 0x260], ebp
jne 0x477441
push 0x4bd884
jmp 0x477499
mov edi, 0x4bd87c
mov esi, ebx
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x47745f
mov ebp, 1
push 0x4bd87c
jmp 0x477499
mov edi, 0x4bd874
mov esi, ebx
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x47747d
mov ebp, 2
push 0x4bd874
jmp 0x477499
mov edi, 0x4bd86c
mov esi, ebx
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4774a2
mov ebp, 3
push 0x4bd86c
lea ecx, [esp + 0x40]
call fcn.00417360
cmp dword [esp + 0x54], 0x10
mov eax, dword [esp + 0x40]
jae 0x4774b1
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x158]
push 0x4bd858
push eax
call fcn.004aa255
add esp, 0xc
push 1
push 0xffff
lea ecx, [esp + 0x15c]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.0046f5e0
mov ecx, dword [0x652e0c]
push ebp
push 0x18
add ecx, 4
call fcn.00422520
lea ecx, [esp + 0x3c]
call fcn.00409790
jmp 0x477705
mov edi, 0x4bd850
mov esi, ebp
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x477544
push 0x4bd930
push ebx
call fcn.004ab301
add esp, 8
cmp eax, ebx
je 0x477705
push eax
call fcn.004ab7c0
mov ecx, dword [0x652e0c]
add esp, 4
push eax
push ebx
add ecx, 4
call fcn.00422100
jmp 0x477705
mov edi, 0x4bd848
mov esi, ebp
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x47758b
push 0x4bd930
push ebx
call fcn.004ab301
add esp, 8
cmp eax, ebx
je 0x477705
push eax
call fcn.004ab7c0
mov ecx, dword [0x652e0c]
add esp, 4
push eax
push 1
add ecx, 4
call fcn.00422100
jmp 0x477705
mov edi, 0x4bd840
mov esi, ebp
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4775d2
push 0x4bd930
push ebx
call fcn.004ab301
add esp, 8
cmp eax, ebx
je 0x477705
push eax
call fcn.004ab7c0
mov ecx, dword [0x652e0c]
add esp, 4
push eax
push 2
add ecx, 4
call fcn.00422100
jmp 0x477705
mov edi, 0x4bd838
mov esi, ebp
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x477619
push 0x4bd930
push ebx
call fcn.004ab301
add esp, 8
cmp eax, ebx
je 0x477705
push eax
call fcn.004ab7c0
mov ecx, dword [0x652e0c]
add esp, 4
push eax
push 3
add ecx, 4
call fcn.00422100
jmp 0x477705
mov edi, 0x4bd830
mov esi, ebp
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x477705
push 0x4bd930
push ebx
call fcn.004ab301
add esp, 8
cmp eax, ebx
je 0x477705
push eax
call fcn.004ab7c0
mov ecx, dword [0x652e0c]
add esp, 4
push eax
push 4
add ecx, 4
call fcn.00422100
jmp 0x477705
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x17ac]
test eax, eax
jne 0x4776f2
lea eax, [esp + 0x14]
push eax
call fcn.004ab0ce
lea ecx, [esp + 0x18]
push ecx
call fcn.004aaf4e
mov edx, eax
mov byte [esp + 0x15c], 0
xor eax, eax
mov ecx, 0x40
lea edi, [esp + 0x15d]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [edx + 4]
mov ecx, dword [edx + 8]
push eax
mov eax, dword [edx + 0xc]
push ecx
mov ecx, dword [edx + 0x10]
mov edx, dword [edx + 0x14]
push eax
inc ecx
push ecx
add edx, 0x76c
push edx
lea eax, [esp + 0x170]
push str.temp___d._d._d__d._d__chatlog.txt
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x178]
push 0x4bd808
push ecx
call fcn.004aac87
add esp, 0x2c
mov dword [esi + 0x17ac], eax
jmp 0x477705
push eax
call fcn.004aaefd
add esp, 4
mov dword [esi + 0x17ac], 0
xor eax, eax
mov ecx, dword [esp + 0x258]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x254
ret 4