Function at 0x422d30
Capabilities:
Check for time delay via gettickcount
Check http status code

Disassembly:
push ebp
lea ebp, [esp - 0x40]
sub esp, 0x40
push 0xffffffffffffffff
push 0x4ad89d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xbc
mov eax, dword [ebp + 0x50]
test eax, eax
push ebx
push esi
mov esi, dword [0x4d78c8]
push edi
mov edi, ecx
mov dword [ebp + 0x30], esi
lea ecx, [ebp]
mov dword [ebp + 0x38], edi
cmovne ecx, eax
mov dword [ebp + 0x28], ecx
mov dword [ecx], 0
test edi, edi
je case.0x422eb9.4
mov ebx, dword [ebp + 0x4c]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [0x4d78c8]
sub ecx, dword [0x4dd444]
cmp ecx, dword [eax + 0x5c]
jbe 0x422dcc
push 0
push 0
push 0
push 0
lea eax, [ebp - 0xc8]
push eax
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x422dc1
mov edx, 1
or ecx, 0xffffffff
call fcn.00401950
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4dd444], eax
cmp byte [esi + 0x53], 0
jne 0x422df1
cmp byte [esi + 0x96], 0
jne 0x422df1
inc dword [esi + 0x40]
mov eax, dword [0x4dd43c]
cmp dword [esi + 0x40], eax
jle 0x422df1
cmp eax, 0xffffffff
jle 0x422df1
mov byte [esi + 0x53], 1
cmp byte [esi + 0x50], 0
je 0x422e15
nop word [eax + eax]
mov edx, 1
mov ecx, 0x8000012f
call fcn.00401950
cmp byte [esi + 0x50], 0
jne 0x422e00
mov dword [0x4dd3ac], edi
cmp byte [esi + 0x9a], 0
je 0x422e55
mov eax, dword [0x4dc01c]
mov dword [eax*4 + 0x4dc660], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x4dc01c]
mov dword [ecx*4 + 0x4dc020], eax
inc ecx
xor eax, eax
cmp ecx, 0x190
cmovge ecx, eax
mov dword [0x4dc01c], ecx
mov cl, byte [edi]
cmp cl, 1
je 0x422ea0
cmp cl, 0xf
jb 0x422e66
cmp cl, 0x13
jbe 0x422ea0
cmp cl, 0x16
jb 0x422e70
cmp cl, 0x1b
jbe 0x422ea0
xor eax, eax
cmp cl, 0x15
mov ecx, edi
cmove eax, ebx
push eax
call fcn.0045b890
mov ecx, eax
mov dword [ebp + 0x3c], ecx
cmp ecx, 1
je 0x422ea3
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
mov ecx, dword [ebp + 0x3c]
mov bl, byte [edi]
movzx eax, bl
dec eax
cmp eax, 0x1a
ja case.0x422eb9.6
movzx eax, byte [eax + 0x42401c]
jmp dword [eax*4 + 0x423fd8]
mov eax, dword [edi + 8]
cmp byte [eax], 1
jne 0x422ed6
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x422ed6
call fcn.0044f370
jmp 0x422ee1
mov ecx, dword [0x4dcca0]
call fcn.0044f2e0
test eax, eax
je 0x422f7c
mov eax, dword [edi + 0x14]
mov ebx, dword [ebp + 0x4c]
cmp byte [eax], 3
jne 0x422f14
lea ecx, [ebp + 0x34]
push ecx
mov ecx, dword [eax + 0x14]
push ebx
push 2
call fcn.00422d30
mov ecx, dword [ebp + 0x34]
mov edx, eax
mov eax, dword [edi + 0x14]
mov dword [ebp + 0x3c], edx
cmp ecx, eax
je 0x422ef4
jmp 0x422f2a
lea ecx, [ebp + 0x34]
push ecx
push ebx
push 3
mov ecx, eax
call fcn.00422d30
mov ecx, dword [ebp + 0x34]
mov edx, eax
mov dword [ebp + 0x3c], eax
cmp ecx, edi
je case.0x422eb9.6
cmp dword [ebp + 0x48], 3
je 0x423b75
cmp edx, 1
jne 0x423b75
test ecx, ecx
je 0x422f5f
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edi + 0x1c]
jne 0x423bae
mov edi, ecx
mov dword [ebp + 0x38], edi
jmp case.0x422eb9.6
mov edi, dword [edi + 0x18]
mov ebx, dword [ebp + 0x4c]
mov dword [ebp + 0x38], edi
cmp byte [edi], 9
jne 0x423b68
mov edi, dword [edi + 0x18]
mov dword [ebp + 0x38], edi
jmp 0x423b68
mov edi, dword [edi + 0x18]
mov dword [ebp + 0x38], edi
cmp byte [edi], 9
jne 0x423006
mov eax, dword [edi + 0x14]
mov ebx, dword [ebp + 0x4c]
cmp byte [eax], 3
jne 0x422fb2
lea ecx, [ebp + 0x34]
push ecx
mov ecx, dword [eax + 0x14]
push ebx
push 2
call fcn.00422d30
mov ecx, dword [ebp + 0x34]
mov esi, eax
mov eax, dword [edi + 0x14]
mov dword [ebp + 0x3c], esi
cmp ecx, eax
je 0x422f92
jmp 0x422fc8
lea ecx, [ebp + 0x34]
push ecx
push ebx
push 3
mov ecx, eax
call fcn.00422d30
mov ecx, dword [ebp + 0x34]
mov esi, eax
mov dword [ebp + 0x3c], eax
cmp dword [ebp + 0x48], 3
je 0x423b90
cmp esi, 1
jne 0x423b90
test ecx, ecx
je 0x422ff8
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edi + 0x1c]
jne 0x423bae
mov edi, ecx
mov dword [ebp + 0x38], edi
mov esi, dword [ebp + 0x30]
jmp case.0x422eb9.6
mov edi, dword [edi + 0x18]
mov esi, dword [ebp + 0x30]
mov dword [ebp + 0x38], edi
jmp case.0x422eb9.6
cmp dword [ebp + 0x48], 3
jne case.0x422eb9.6
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
mov ecx, dword [edi + 0x18]
test ecx, ecx
jne 0x423043
push 1
mov ecx, edi
call fcn.0043f9a0
mov ecx, eax
test ecx, ecx
je 0x423fa7
cmp dword [ebp + 0x48], 3
je 0x423bab
mov edx, dword [ecx + 4]
mov eax, dword [edi + 0x1c]
cmp eax, dword [edx + 0x1c]
jne 0x423bab
mov edi, edx
mov dword [ebp + 0x38], edi
jmp case.0x422eb9.6
cmp bl, 0xb
je 0x42308d
cmp bl, 0xc
jne 0x4230b2
mov ecx, dword [0x4dcca0]
xor edx, edx
push 0
call fcn.004140a0
add esp, 4
mov dword [ebp + 4], eax
test eax, eax
je 0x423bb8
cmp byte [edi + 1], 1
ja 0x42309c
mov dword [ebp + 0x14], 1
jmp 0x4230b2
mov ecx, dword [0x4dcca4]
call fcn.00414230
mov dword [ebp + 0x14], eax
test eax, eax
je 0x423c69
mov byte [ebp + 0x53], 0
mov dword [ebp + 0x34], 0
mov edx, dword [edi + 0x18]
mov dword [ebp + 0x2c], edx
cmp byte [edx], 0x11
jne 0x4230d2
mov ebx, edx
mov edx, dword [edx + 0x14]
mov dword [ebp + 0x2c], edx
jmp 0x4230d4
xor ebx, ebx
mov eax, dword [esi]
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x50], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x54], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x58], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 0x14]
mov dword [ebp + 0x18], eax
mov al, byte [edi]
cmp al, 0xf
je 0x42310c
mov dword [esi], 1
mov dword [esi + 4], 0
mov al, byte [edi]
movzx eax, al
add eax, 0xfffffff6
cmp eax, 6
ja case.default.0x42311b
jmp dword [eax*4 + 0x424038]
cmp byte [edi + 1], 0
jbe 0x423154
mov eax, dword [edi + 8]
cmp byte [eax + 1], 0
jne 0x423143
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x423143
call fcn.0044f5c0
mov byte [ebp + 8], 0
jmp 0x423166
mov ecx, dword [0x4dcca0]
call fcn.0047b060
mov byte [ebp + 8], 0
jmp 0x423166
xorps xmm0, xmm0
mov byte [ebp + 8], 1
movlpd qword [ebp + 0xc], xmm0
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push dword [ebp + 8]
mov ecx, edi
push edx
push eax
push ebx
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x53]
push eax
push dword [ebp + 0x4c]
call fcn.00424070
mov edx, dword [ebp + 0x2c]
mov esi, eax
mov dword [ebp + 0x3c], esi
jmp 0x423497
lea eax, [ebp + 0x34]
mov ecx, edi
push eax
lea eax, [ebp + 0x53]
push eax
push dword [ebp + 0x4c]
call fcn.004241c0
mov edx, dword [ebp + 0x2c]
mov esi, eax
mov dword [ebp + 0x3c], esi
jmp 0x423497
push ebx
lea eax, [ebp + 0x34]
mov ecx, edi
push eax
lea eax, [ebp + 0x53]
push eax
push dword [ebp + 0x4c]
call fcn.004242e0
mov edx, dword [ebp + 0x2c]
mov esi, eax
mov dword [ebp + 0x3c], esi
jmp 0x423497
push 0x4cbc78
push dword [0x4dcca4]
call fcn.004979b3
add esp, 8
mov ecx, edi
test eax, eax
lea eax, [ebp + 0x34]
push ebx
push eax
lea eax, [ebp + 0x53]
push eax
push dword [ebp + 0x4c]
je 0x423201
call fcn.00425260
mov edx, dword [ebp + 0x2c]
mov esi, eax
mov dword [ebp + 0x3c], esi
jmp 0x423497
call fcn.00425680
mov edx, dword [ebp + 0x2c]
mov esi, eax
mov dword [ebp + 0x3c], esi
jmp 0x423497
mov eax, dword [0x4dd650]
mov dword [ebp - 0x44], vtable.TextStream.0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
cmp eax, 0xffffffff
je 0x423263
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x34], eax
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
neg eax
sbb al, al
and byte [ebp - 0x2a], al
mov dword [ebp - 0x44], vtable.TextFile.0
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x44]
mov eax, dword [esi + 0x8c]
and eax, 0x7fffffff
push eax
push 0x30c
push dword [0x4dcca0]
call fcn.004782c0
test al, al
je 0x4232ef
push dword [0x4dcca4]
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push ebx
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x53]
push eax
push dword [ebp + 0x4c]
call fcn.00425a80
mov esi, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp + 0x3c], esi
test eax, eax
je 0x4232de
cmp dword [ebp - 0x18], 0
jne 0x4232de
push eax
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x44]
push dword [ebp - 0x14]
call dword [eax + 0x10]
mov dword [ebp - 0x3c], 0
xor eax, eax
lea ecx, [ebp - 0x44]
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x44]
call dword [eax + 8]
jmp 0x423305
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, 0x4dcd68
call fcn.00428850
mov esi, eax
mov dword [ebp + 0x3c], eax
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x44], vtable.TextFile.0
test eax, eax
je 0x423333
cmp dword [ebp - 0x18], 0
jne 0x423333
push eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0x44]
call fcn.00478ee0
mov dword [ebp - 0x3c], 0
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov word [ebp - 0x1c], ax
cmp ecx, 0xffffffff
je 0x42335e
mov eax, dword [ebp - 0x40]
and eax, 0x10000003
cmp eax, 0x10000000
je 0x423357
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], vtable.TextStream.0
test eax, eax
je 0x423375
push eax
call fcn.00497f48
add esp, 4
mov edx, dword [ebp + 0x2c]
mov dword [ebp - 4], 0xffffffff
jmp 0x423497
mov esi, dword [0x4dcca0]
push 0x2047c
mov dword [ebp + 0x10], 1
call fcn.00493fe8
add esp, 4
mov edi, eax
lea eax, [ebp + 0x10]
mov dword [ebp + 0x3c], edi
push eax
push edi
push esi
mov esi, dword [ebp + 0x38]
mov ecx, esi
mov dword [edi + 0x20460], 0
mov dword [edi + 0x20470], 0
call fcn.00424710
test al, al
je 0x4233f8
mov ecx, dword [ebp + 0x14]
mov eax, ecx
shr eax, 2
and ecx, 0xfffffffb
push edi
and al, 1
movzx eax, al
push eax
push ecx
push ebx
lea eax, [ebp + 0x34]
mov ecx, esi
push eax
lea eax, [ebp + 0x53]
push eax
push dword [ebp + 0x4c]
call fcn.00424980
mov esi, eax
mov dword [ebp + 0x3c], eax
jmp 0x4233fe
mov esi, dword [ebp + 0x10]
mov dword [ebp + 0x3c], esi
cmp dword [edi + 0x20470], 0
je 0x423415
push dword [edi + 0x2045c]
call fcn.00497f48
add esp, 4
push dword [edi + 0x20460]
call fcn.00497f48
push 0x2047c
push edi
call fcn.00493d7b
mov edx, dword [ebp + 0x2c]
add esp, 0xc
mov edi, dword [ebp + 0x38]
jmp 0x423497
mov ecx, dword [0x4dcca0]
lea eax, [ebp + 0x23]
push eax
lea edx, [ebp - 0x48]
call fcn.004140a0
mov esi, eax
add esp, 4
test esi, esi
je 0x423501
push dword [ebp - 0x48]
mov ecx, dword [ebp + 0x14]
mov eax, ecx
push esi
push dword [ebp + 4]
shr eax, 2
and ecx, 0xfffffffb
and al, 1
movzx eax, al
push eax
push ecx
push ebx
lea eax, [ebp + 0x34]
mov ecx, edi
push eax
lea eax, [ebp + 0x53]
push eax
push dword [ebp + 0x4c]
call fcn.00424d90
cmp byte [ebp + 0x23], 0
mov dword [ebp + 0x3c], eax
je 0x423491
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x3c]
mov ecx, dword [ebp + 0x30]
mov eax, dword [ebp - 0x4c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x50]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x54]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x58]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x5c]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp + 0x18]
mov dword [ecx + 0x14], eax
test esi, esi
je 0x423b95
cmp esi, 7
je 0x423b95
cmp esi, 8
je 0x423b95
cmp byte [ebp + 0x53], 0
jne 0x423b63
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x42351f
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edi + 0x1c]
jne 0x423c4b
mov esi, dword [ebp + 0x30]
mov edi, ecx
mov dword [ebp + 0x38], edi
jmp case.0x422eb9.6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, 0x4dcd68
call fcn.00428850
mov edx, dword [ebp + 0x2c]
mov esi, eax
mov dword [ebp + 0x3c], esi
jmp 0x423497
cmp dword [ebp + 0x48], 3
je case.0x422eb9.4
mov esi, dword [ebp + 0x30]
mov edi, edx
mov dword [ebp + 0x38], edi
jmp case.0x422eb9.6
mov esi, dword [esi + 0x34]
mov dword [ebp + 0x18], esi
cmp bl, 0x17
jne 0x4235a2
mov eax, dword [ebp + 0x30]
mov esi, dword [eax + 0x30]
mov dword [eax + 0x30], 0
cmp byte [edi + 1], 0
je 0x423564
mov ecx, dword [edi + 8]
push esi
mov ecx, dword [ecx + 0xc]
call fcn.0047d360
mov edi, eax
jmp 0x423569
mov edi, 1
cmp dword [esi + 8], 5
jne 0x423577
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi + 0x14]
test eax, eax
je 0x423587
push eax
call fcn.00497f48
add esp, 4
push 0x28
push esi
call fcn.00493d7b
add esp, 8
test edi, edi
je 0x423fa7
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0x38]
jmp 0x4235b5
mov eax, dword [edi + 0x18]
cmp byte [eax], 0x18
je 0x4235b5
mov ecx, dword [ebp + 0x30]
mov eax, esi
or eax, 2
mov dword [ecx + 0x34], eax
mov dword [ebp + 0x34], 0
mov eax, dword [edi + 0x14]
cmp byte [eax], 3
jne 0x4235e4
lea ecx, [ebp + 0x34]
push ecx
push dword [ebp + 0x4c]
mov ecx, dword [eax + 0x14]
push 2
call fcn.00422d30
mov ecx, dword [ebp + 0x34]
mov dword [ebp + 0x3c], eax
mov eax, dword [edi + 0x14]
cmp ecx, eax
je 0x4235c4
jmp 0x4235fa
lea ecx, [ebp + 0x34]
push ecx
push dword [ebp + 0x4c]
mov ecx, eax
push 3
call fcn.00422d30
mov ecx, dword [ebp + 0x34]
mov dword [ebp + 0x3c], eax
mov edi, dword [edi + 0x18]
mov dword [ebp + 0x38], edi
cmp bl, 0x16
jne 0x42368c
mov eax, dword [ebp + 0x30]
xor dl, dl
mov dword [eax + 0x34], esi
mov al, byte [edi]
mov esi, dword [ebp + 0x30]
cmp al, 0x17
jne 0x423630
cmp dword [esi + 0x30], 0
mov dl, 1
jne case.0x422eb9.6
mov eax, dword [edi + 0x18]
mov edi, eax
mov dword [ebp + 0x38], edi
mov al, byte [eax]
cmp al, 0x18
je 0x42369e
test dl, dl
jne 0x42373e
mov esi, dword [esi + 0x30]
test esi, esi
je 0x42373e
cmp dword [esi + 8], 5
jne 0x423655
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi + 0x14]
test eax, eax
je 0x423665
push eax
call fcn.00497f48
add esp, 4
mov ebx, dword [ebp + 0x30]
push 0x28
push dword [ebx + 0x30]
call fcn.00493d7b
mov ecx, dword [ebp + 0x34]
mov esi, 1
add esp, 8
mov dword [ebx + 0x30], 0
mov dword [ebp + 0x3c], esi
jmp 0x423741
cmp bl, 0x17
jne 0x42373e
cmp byte [edi], 0x18
jne 0x42373e
cmp dword [ebp + 0x3c], 1
jne 0x4236ac
test ecx, ecx
je 0x422ff0
mov eax, dword [ebp + 0x30]
mov ecx, edi
mov ebx, dword [0x4dc018]
mov dword [0x4dc018], 0
mov esi, dword [eax + 0x30]
mov dword [eax + 0x30], 0
mov eax, dword [0x4dc014]
mov dword [ebp + 0x18], eax
lea eax, [ebp]
push eax
push 0
push 3
mov dword [0x4dc014], 0
call fcn.00422d30
mov edi, eax
test ebx, ebx
je 0x423722
mov eax, dword [0x4dc018]
test eax, eax
je 0x423714
push eax
call fcn.00497f48
add esp, 4
cmp dword [0x4dc014], 0x400000
jbe 0x423714
dec dword [0x4dc010]
mov eax, dword [ebp + 0x18]
mov dword [0x4dc018], ebx
mov dword [0x4dc014], eax
cmp edi, 1
jne 0x423d06
cmp dword [ebp], 0
jne 0x423d06
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x34]
mov dword [eax + 0x30], esi
mov esi, dword [ebp + 0x3c]
cmp dword [ebp + 0x48], 3
je 0x423b90
cmp esi, 1
jne 0x423b90
test ecx, ecx
je 0x423b5b
mov esi, dword [ebp + 0x38]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [esi + 0x1c]
jne 0x423bae
mov esi, dword [ebp + 0x30]
mov edi, ecx
mov dword [ebp + 0x38], edi
jmp case.0x422eb9.6
mov edi, dword [edi + 0x14]
mov dword [ebp + 0x38], edi
jmp case.0x422eb9.6
mov eax, dword [0x4dc018]
xor ebx, ebx
mov dword [ebp + 0x24], eax
mov eax, dword [0x4dc014]
mov dword [ebp + 0x1c], eax
mov dword [ebp - 0x70], ebx
mov dword [ebp + 0x2c], ebx
mov dword [0x4dc018], ebx
mov dword [0x4dc014], ebx
mov dword [ebp + 0x10], ebx
cmp byte [edi + 1], bl
jne 0x4237c0
mov esi, 1
mov dword [ebp - 0x7c], 0x45
mov dword [ebp + 0x3c], esi
jmp 0x423805
lea eax, [ebp + 0x1c]
mov ecx, edi
push eax
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp - 0x84]
push eax
push 0
call fcn.0045a960
mov esi, eax
mov dword [ebp + 0x3c], esi
cmp esi, 1
jne 0x42397d
cmp dword [ebp - 0x7c], ebx
jne 0x423805
mov eax, dword [ebp + 0x24]
cmp dword [ebp - 0x84], eax
jne 0x423805
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x1c], ebx
mov eax, dword [edi + 0x14]
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x423913
cmp byte [ebx], 0x1b
jne 0x423910
movzx eax, byte [ebx + 1]
mov dword [ebp + 0x18], eax
test eax, eax
jne 0x423832
mov ecx, dword [ebx + 0x14]
mov dword [ebp + 0x2c], ecx
jmp 0x423902
xor edi, edi
test eax, eax
je 0x423902
nop dword [eax]
lea eax, [ebp + 0x1c]
mov ecx, ebx
push eax
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp - 0xac]
push eax
push edi
call fcn.0045a960
mov esi, eax
mov dword [ebp + 0x3c], esi
cmp esi, 1
jne 0x423954
cmp dword [ebp - 0x7c], 0x45
jne 0x4238cc
mov eax, dword [ebp - 0xa4]
cmp eax, 4
ja case.0x423876.3
jmp dword [eax*4 + 0x424054]
mov eax, dword [ebp - 0xac]
or eax, dword [ebp - 0xa8]
je 0x423892
mov esi, 1
jmp 0x4238df
xor esi, esi
jmp 0x4238df
mov ecx, dword [ebp - 0xac]
call fcn.0044f370
jmp 0x4238dd
movsd xmm0, qword [ebp - 0xac]
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x423892
mov esi, 1
jmp 0x4238df
mov ecx, dword [ebp - 0xac]
call fcn.0044f2e0
jmp 0x4238dd
lea edx, [ebp - 0xac]
lea ecx, [ebp - 0x84]
call fcn.0044fd20
mov esi, eax
cmp dword [ebp - 0xa4], 5
jne 0x4238f4
mov eax, dword [ebp - 0xac]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
test esi, esi
jne 0x423949
inc edi
cmp edi, dword [ebp + 0x18]
jl 0x423840
mov ebx, dword [ebx + 0x18]
mov esi, dword [ebp + 0x3c]
test ebx, ebx
jne 0x423813
mov edi, dword [ebp + 0x38]
mov ebx, dword [ebp + 0x2c]
cmp dword [ebp + 0x10], 0
je 0x42395b
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x42393b
push eax
call fcn.00497f48
add esp, 4
cmp dword [ebp + 0x1c], 0x400000
jbe 0x42393b
dec dword [0x4dc010]
mov eax, dword [ebp - 0x70]
mov dword [ebp + 0x24], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp + 0x1c], eax
jmp 0x42397d
mov ebx, dword [ebx + 0x14]
mov edi, dword [ebp + 0x38]
mov esi, dword [ebp + 0x3c]
jmp 0x423916
mov edi, dword [ebp + 0x38]
xor ebx, ebx
jmp 0x423916
cmp dword [ebp - 0x7c], 5
jne 0x42396d
mov eax, dword [ebp - 0x84]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x42397d
push eax
call fcn.00497f48
add esp, 4
cmp dword [ebp + 0x24], 0
je 0x4239b7
mov eax, dword [0x4dc018]
test eax, eax
je 0x4239a7
push eax
call fcn.00497f48
add esp, 4
cmp dword [0x4dc014], 0x400000
jbe 0x4239a7
dec dword [0x4dc010]
mov eax, dword [ebp + 0x24]
mov dword [0x4dc018], eax
mov eax, dword [ebp + 0x1c]
mov dword [0x4dc014], eax
test ebx, ebx
je 0x4239d5
lea eax, [ebp + 0x34]
mov ecx, ebx
push eax
push dword [ebp + 0x4c]
push 2
call fcn.00422d30
mov ecx, dword [ebp + 0x34]
mov esi, eax
mov dword [ebp + 0x3c], esi
jmp 0x4239da
xor ecx, ecx
mov dword [ebp + 0x34], ecx
cmp esi, 1
jne 0x423b90
cmp dword [ebp + 0x48], 3
je 0x423b90
test ecx, ecx
je 0x422ff8
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edi + 0x1c]
jne 0x423bae
mov esi, dword [ebp + 0x30]
mov edi, ecx
mov dword [ebp + 0x38], edi
jmp case.0x422eb9.6
cmp dword [edi + 0xc], 0
mov ebx, dword [ebp + 0x4c]
je 0x423a22
mov edi, dword [edi + 0x18]
mov dword [ebp + 0x38], edi
jmp 0x423b68
mov ecx, dword [edi + 0x14]
lea eax, [ebp + 0x34]
push eax
push ebx
push 2
call fcn.00422d30
mov ecx, dword [ebp + 0x34]
mov esi, eax
mov dword [ebp + 0x3c], esi
cmp ecx, edi
je 0x423a73
cmp dword [ebp + 0x48], 3
je 0x423b90
cmp esi, 1
jne 0x423b90
test ecx, ecx
je 0x423a6d
mov eax, dword [edi + 0x1c]
cmp eax, dword [ecx + 0x1c]
jne 0x423bae
mov esi, dword [ebp + 0x30]
mov edi, ecx
mov dword [ebp + 0x38], edi
jmp 0x423b68
mov edi, dword [edi + 0x18]
mov dword [ebp + 0x38], edi
mov esi, dword [ebp + 0x30]
jmp 0x423b68
mov esi, dword [edi + 8]
cmp byte [esi + 0x1d], 0
jne 0x423acf
mov edi, dword [esi + 0x2c]
cmp dword [edi + 8], 4
jne 0x423abc
mov edx, dword [edi]
cmp byte [edx + 0x17], 0
jne 0x423a9f
mov ecx, dword [edx + 0xc]
call fcn.00414070
jmp 0x423aa1
mov eax, edx
test byte [eax + 0x15], 2
je 0x423abc
push edx
mov ecx, 0x4dcd68
call fcn.00429eb0
mov edi, dword [ebp + 0x38]
mov esi, eax
mov dword [ebp + 0x3c], esi
jmp 0x423ae2
mov ecx, dword [esi + 0xc]
push edi
call fcn.0047d360
mov edi, dword [ebp + 0x38]
mov esi, eax
mov dword [ebp + 0x3c], esi
jmp 0x423ae2
push 0
mov ecx, edi
call fcn.0045b890
mov esi, eax
mov dword [ebp + 0x3c], esi
jmp 0x423ae2
mov esi, dword [ebp + 0x3c]
cmp esi, 1
jne 0x423b95
cmp dword [ebp + 0x48], 3
je 0x423b95
mov edi, dword [edi + 0x14]
mov esi, dword [ebp + 0x30]
mov dword [ebp + 0x38], edi
jmp case.0x422eb9.6
cmp ecx, 1
jne 0x422e8a
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x423b1b
cmp dword [ecx + 0x28], edi
jne 0x423b1b
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x423b37
cmp dword [ecx + 0x18], edi
jne 0x423b37
mov eax, dword [edi + 0x14]
mov dword [ecx + 0x18], eax
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x423b25
cmp dword [ebp + 0x48], 3
lea edx, [edi + 0x14]
mov ecx, dword [edi + 0x10]
mov eax, dword [edx]
mov dword [ecx + 0x14], eax
mov ecx, dword [edx]
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x10], eax
je case.0x422eb9.4
mov edi, dword [edx]
mov dword [ebp + 0x38], edi
jmp case.0x422eb9.6
mov edi, dword [ebp + 0x38]
mov esi, dword [ebp + 0x30]
jmp case.0x422eb9.6
mov esi, ecx
mov ebx, dword [ebp + 0x4c]
test edi, edi
jne 0x422d83
jmp case.0x422eb9.4
mov edi, dword [ebp + 0x28]
mov eax, edx
mov dword [edi], ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
mov edi, dword [ebp + 0x28]
mov dword [edi], ecx
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
mov ecx, dword [ecx + 4]
mov edi, dword [ebp + 0x28]
mov dword [edi], ecx
jmp case.0x422eb9.4
mov eax, dword [0x4dcca0]
mov edx, 0x4b431c
test eax, eax
mov ecx, 0x4dcd68
cmovne edx, eax
cmp byte [0x4dd434], 0
je 0x423bf7
push edi
push 0
push edx
push str.Parameter_1_invalid.
call fcn.00428b60
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
cmp byte [0x4dd437], 0
je 0x423c29
push dword [edi + 4]
movzx eax, word [edi + 2]
push eax
push edx
push str.Parameter_1_invalid.
call fcn.00428a60
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
push edi
push edx
push 0
push str.Parameter_1_invalid.
call fcn.00428bd0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
mov edi, dword [ebp + 0x28]
mov eax, dword [ebp + 0x34]
mov dword [edi], eax
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
mov eax, dword [0x4dcca4]
mov ecx, 0x4b431c
test eax, eax
cmovne ecx, eax
cmp byte [0x4dd434], 0
je 0x423ca8
push edi
push 0
push ecx
push str.Parameter_2_invalid.
mov ecx, 0x4dcd68
call fcn.00428b60
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
cmp byte [0x4dd437], 0
je 0x423cdf
push dword [edi + 4]
movzx eax, word [edi + 2]
push eax
push ecx
push str.Parameter_2_invalid.
mov ecx, 0x4dcd68
call fcn.00428a60
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
push edi
push ecx
push 0
push str.Parameter_2_invalid.
mov ecx, 0x4dcd68
call fcn.00428bd0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
test esi, esi
je 0x423d33
cmp dword [esi + 8], 5
jne 0x423d18
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esi + 0x14]
test eax, eax
je 0x423d28
push eax
call fcn.00497f48
add esp, 4
push 0x28
push esi
call fcn.00493d7b
add esp, 8
test edi, edi
je 0x423dd9
cmp edi, 8
je 0x423dd9
cmp byte [0x4dd434], 0
mov ecx, 0x4dcd68
mov eax, dword [0x4dd3ac]
je 0x423d7d
push eax
push 0
push 0x4b431c
push str.Jumps_cannot_exit_a_FINALLY_block.
call fcn.00428b60
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
cmp byte [0x4dd437], 0
je 0x423db3
push dword [eax + 4]
movzx eax, word [eax + 2]
push eax
push 0x4b431c
push str.Jumps_cannot_exit_a_FINALLY_block.
call fcn.00428a60
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
push eax
push 0x4b431c
push 0
push str.Jumps_cannot_exit_a_FINALLY_block.
call fcn.00428bd0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
cmp dword [ebp + 0x48], 1
je case.0x422eb9.4
pop edi
pop esi
mov eax, 7
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
mov eax, dword [edi + 0x18]
test eax, eax
je 0x423e23
mov edi, dword [ebp + 0x28]
mov dword [edi], eax
jmp case.0x422eb9.4
pop edi
pop esi
mov eax, 5
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
mov eax, dword [edi + 0x18]
test eax, eax
je 0x423e48
mov edi, dword [ebp + 0x28]
mov dword [edi], eax
pop edi
pop esi
mov eax, 6
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
cmp byte [edi + 1], 0
jne 0x423e94
push 0
push edi
push 0x4b431c
push 0
push str.An_exception_was_thrown.
mov ecx, 0x4dcd68
call fcn.004287a0
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
push 0x28
call fcn.00493fe8
mov ebx, dword [ebp + 0x38]
mov edi, eax
add esp, 4
mov dword [ebp + 0x4c], edi
mov ecx, ebx
mov dword [edi + 8], 0
push edi
mov dword [edi + 0x14], 0
mov dword [edi + 4], 0xffffffff
call fcn.0045b890
mov esi, eax
cmp esi, 1
je 0x423eeb
push 0x28
push edi
call fcn.00493d7b
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
cmp dword [edi + 8], 0
jne 0x423f8e
cmp dword [edi + 0x14], 0
jne 0x423f8e
mov esi, dword [edi + 4]
mov eax, dword [edi]
mov dword [ebp + 0x4c], eax
cmp esi, 0xffffffff
jne 0x423f20
mov esi, eax
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x423f11
sub esi, ecx
sar esi, 1
lea ebx, [esi*2 + 2]
push ebx
call fcn.00497ab4
add esp, 4
mov dword [edi + 0x14], eax
test eax, eax
je 0x423f54
push ebx
push dword [ebp + 0x4c]
mov dword [edi + 8], 0
push eax
mov dword [edi + 4], esi
mov dword [edi], eax
call fcn.00497340
add esp, 0xc
test eax, eax
jne 0x423f8b
push 0x28
push edi
call fcn.00493d7b
push 0
push 0
xorps xmm3, xmm3
mov edx, 0x10000
mov ecx, str.Out_of_memory.__The_current_thread_will_exit.
call fcn.0047fbd0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
mov ebx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x30]
test byte [eax + 0x34], 2
mov dword [eax + 0x30], edi
jne 0x423fa7
push 0
push ebx
mov ecx, 0x4dcd68
call fcn.004296c0
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc
mov ecx, dword [ebp - 0xc]
mov eax, 8
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
lea esp, [ebp + 0x40]
pop ebp
ret 0xc