Function at 0x429d91
Capabilities:
Check http status code

Disassembly:
push 0xffffffffffffffff
push 0x4d321c
mov eax, dword fs:[0]
push eax
sub esp, 0x52c
mov eax, dword [0x518450]
xor eax, esp
mov dword [esp + 0x528], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x518450]
xor eax, esp
push eax
lea eax, [esp + 0x540]
mov dword fs:[0], eax
mov ebp, ecx
xor ebx, ebx
lea ecx, [esp + 0x84]
mov byte [esp + 0x16], bl
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
call fcn.00427b87
mov dword [esp + 0x548], ebx
call fcn.004045d9
dec eax
neg eax
push ebx
sbb al, al
inc al
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x70]
sub eax, 0xb
je 0x429eba
sub eax, 0xa
je 0x429e88
dec eax
je 0x429e56
push 0x88711d5c
push 0x4ad3d57f
push 0xacf5135
call fcn.00401daa
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.0044572d
push ebx
push 0xe38245bb
push 0x21208d88
push 0x613c09ea
jmp 0x429eea
push 0x377352ed
push 0xf5d19ac6
push 0xb5cd1e14
call fcn.00401daa
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.0044572d
push ebx
push 0x945998cc
push 0x56fb50ff
push 0x16e7d40d
jmp 0x429eea
push 0xcdc1a917
push 0xf636139
push 0x4f7fe5c3
call fcn.00401daa
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.0044572d
push ebx
push 0x89b66d09
push 0x4b14a537
push 0xb082123
jmp 0x429eea
push 0x89c4204d
push 0x4b66e85b
push 0xb7a6c45
call fcn.00401daa
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.0044572d
push ebx
push 0x5e521c3e
push 0x9cf0d400
push 0xdcec5040
mov esi, eax
call fcn.00401daa
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.0044572d
mov dword [esp + 0x28], eax
test esi, esi
jne 0x429f11
mov dword [ebp + 0x74], 1
jmp 0x42afd8
mov ecx, dword [ebp + 0x5c]
lea eax, [esp + 0x34]
push eax
push esi
call fcn.00446f99
mov ebx, eax
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x42afcf
cmp dword [esp + 0x34], 0
je 0x42afcf
lea esi, [ebp + 0x208]
push esi
push dword [esp + 0x38]
push ebx
call fcn.004726c0
push ebx
call fcn.0040671b
mov edx, eax
add esp, 0x10
mov eax, 0x100
movzx ecx, byte [edx + ebx]
imul cx, ax
movzx eax, byte [edx + ebx + 1]
add cx, ax
movzx eax, cx
lea ecx, [esp + 0x44]
mov dword [esp + 0x3c], eax
lea eax, [edx + 0x30]
add eax, ebx
xor ebx, ebx
inc ebx
mov dword [esp + 0x1c], eax
push ebx
call fcn.0043a42a
lea eax, [esp + 0x44]
mov byte [esp + 0x548], bl
push eax
mov ecx, ebp
call fcn.0042b022
test al, al
je 0x42af97
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov dword [ebp + 0x1a8], ecx
mov dword [ebp + 0x1ac], eax
push 0x17
pop edi
cmp ecx, 0x48141003
jne 0x429fe3
push 0xe6a95e7d
push 0x240b9641
push 0x6417122b
call fcn.00401daa
push eax
push ebx
push dword [ebp + 0x60]
call fcn.0042040f
mov dword [ebp + 0x70], edi
jmp 0x42a01a
cmp ecx, 0x48151003
jne 0x429ffc
push 0xf4a3d257
push 0x36011a6b
push 0x761d9e1d
jmp 0x429fcf
push 0x82750457
push 0x40d7cc6b
push 0xcb4be9
call fcn.00401daa
push eax
push ebx
push dword [ebp + 0x60]
call fcn.0042040f
add esp, 0x18
push dword [ebp + 0x1ac]
push 0x2a3024de
push 0xe892ece1
push 0xa88e6b6f
call fcn.00401daa
add esp, 0xc
push eax
push ebx
push dword [ebp + 0x60]
call fcn.0042040f
add esp, 0x10
cmp dword [esp + 0x4c], 0x48151003
jne 0x42a06f
mov dword [ebp + 0x74], 6
mov al, byte [ebp + 0x26]
mov byte [ebp + 0x78], al
mov al, byte [ebp + 0x30]
mov byte [ebp + 0x79], al
mov al, byte [ebp + 0x31]
mov byte [ebp + 0x7a], al
jmp 0x42afb9
push 0x240
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
mov edx, 0x100
push 5
pop ecx
push 5
lea eax, [ebx + 0x58]
mov dword [esp + 0x30], ebx
mov edi, eax
mov dword [esp + 0x28], eax
rep movsd dword es:[edi], dword [esi]
movzx ecx, byte [ebp + 0x7f]
lea edi, [ebx + 0x18]
shl ecx, 8
xor ecx, dword [ebx + 8]
and ecx, edx
mov esi, dword [esp + 0x20]
xor ecx, dword [ebx + 8]
mov dword [ebx + 8], ecx
movzx eax, byte [ebp + 0x80]
shl eax, 9
xor eax, ecx
and eax, 0x200
xor eax, ecx
mov dword [ebx + 8], eax
mov eax, dword [ebp + 0x90]
mov dword [ebx + 0x74], eax
mov al, byte [ebp + 0x70]
mov byte [ebx + 0x3f], al
mov eax, dword [esp + 0x40]
mov word [ebx + 0x14], ax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp + 0x1b0]
mov dword [ebx + 0x44], eax
mov eax, dword [ebp + 0x1b8]
mov dword [ebx + 0x48], eax
mov eax, dword [ebp + 0x1bc]
mov dword [ebx + 0x4c], eax
mov eax, dword [ebp + 0x1c0]
mov dword [ebx + 0x50], eax
mov eax, dword [ebp + 0x1c4]
mov dword [ebx + 0x54], eax
mov eax, dword [ebp + 0x5c]
pop ecx
push 8
mov eax, dword [eax + 0x154]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebp + 0x5c]
mov ax, word [eax + 0x152]
mov word [ebx + 0x70], ax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x248]
lea esi, [ebp + 0x251]
mov dword [ebx + 0xf0], eax
lea edi, [ebx + 0xf8]
mov eax, dword [ebp + 0x24c]
mov dword [ebx + 0xf4], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp + 0x262]
lea esi, [ebp + 0x267]
mov dword [ebx + 0x108], eax
lea edi, [ebx + 0x10c]
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp + 0x27c]
lea edi, [ebx + 0x120]
pop ecx
rep movsd dword es:[edi], dword [esi]
lea eax, [ebx + 0x140]
xor ecx, ecx
push ecx
push ecx
push edx
push eax
push 0xffffffffffffffff
lea eax, [ebp + 0x94]
push eax
push ecx
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jle 0x42a1bb
dec al
mov byte [ebx + 0x73], al
mov esi, dword [esp + 0x64]
test esi, esi
je 0x42a1cd
lea edi, [ebx + 0xe0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
push 0x19adc573
push 0xdb0f0d4c
push 0x9b138afc
call fcn.00401daa
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push eax
call fcn.0044572d
xor ecx, ecx
test eax, eax
je 0x42a200
cmp dword [eax], ecx
je 0x42a200
or dword [ebx + 8], 0x400
cmp dword [ebp + 0x70], 0x16
mov ebx, dword [esp + 0x18]
mov byte [esp + 0x40], cl
mov dword [esp + 0x38], ecx
je 0x42a2d4
cmp dword [ebp + 0x70], 0xb
je 0x42a2d4
test bl, bl
je 0x42a28d
push ecx
call fcn.0042d615
mov esi, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
pop ecx
test eax, eax
je 0x42a293
lea ecx, [esp + 0x84]
push ecx
push esi
push eax
call fcn.0042d49c
add esp, 0xc
mov byte [esp + 0x40], al
test al, al
je 0x42a293
cmp byte [esp + 0x8b], 0
jne 0x42a270
mov eax, dword [esp + 0xc0]
sub eax, dword [esp + 0xbc]
sar eax, 4
test eax, eax
je 0x42a293
push dword [ebp + 0x60]
xor edi, edi
lea ecx, [esp + 0x88]
inc edi
mov dword [esp + 0x88], edi
call fcn.0042c611
xor ecx, ecx
jmp 0x42a298
mov esi, dword [esp + 0x24]
jmp 0x42a295
xor ecx, ecx
xor edi, edi
inc edi
cmp dword [esp + 0x84], 0
jne 0x42a2d7
push ecx
lea eax, [esp + 0x88]
push eax
push esi
push ecx
mov ecx, ebp
call fcn.00428152
test al, al
je 0x42a2d7
push dword [ebp + 0x60]
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], 2
call fcn.0042c611
jmp 0x42a2d7
xor edi, edi
inc edi
mov ecx, ebp
call fcn.00427fb0
mov byte [ebp + 0x84], al
test al, al
jne 0x42a310
cmp dword [ebp + 0x70], 0x17
je 0x42a310
push 0x3a93ad2
push 0xc10bf2c5
push 0x81177579
call fcn.00401daa
push eax
push 2
push dword [ebp + 0x60]
call fcn.0042040f
add esp, 0x18
cmp byte [0x524ec4], 0
jne 0x42a349
cmp dword [ebp + 0x70], 0x17
je 0x42a349
test bl, bl
je 0x42a349
push 0x525288
call fcn.0043bb0b
mov byte [0x524ec4], al
and dword [ebp + 0x74], 0
mov al, byte [ebp + 0x26]
mov byte [ebp + 0x78], al
mov al, byte [ebp + 0x30]
mov byte [ebp + 0x79], al
mov al, byte [ebp + 0x31]
pop ecx
mov byte [ebp + 0x7a], al
mov ecx, ebp
call fcn.00427f57
xor ebx, ebx
mov byte [esp + 0x17], al
test al, al
setne bl
push ebx
push 0xfc6eae1a
push 0x3ecc6624
push 0x7ed0e1c4
call fcn.00401daa
add esp, 0xc
push eax
push edi
push dword [ebp + 0x60]
call fcn.0042040f
mov eax, dword [esp + 0x3c]
xor ecx, ecx
add esp, 0x10
cmp byte [ebp + 0x83], cl
setne cl
shl ebx, 0xb
shl ecx, 0xc
xor ecx, dword [eax + 8]
and ecx, 0x1000
xor ecx, dword [eax + 8]
xor ebx, ecx
and ebx, 0x800
xor ecx, ebx
mov ebx, eax
mov dword [ebx + 8], ecx
movzx eax, byte [ebp + 0x82]
shl eax, 0xd
xor eax, ecx
and eax, 0x2000
xor eax, ecx
mov dword [ebx + 8], eax
cmp byte [ebp + 0x82], 0
jne 0x42a400
cmp byte [esp + 0x17], 0
je 0x42a400
cmp byte [ebp + 0x83], 0
je 0x42a400
lea eax, [ebp + 0x1dc]
mov ecx, ebp
push eax
push 0
call fcn.0042753f
test al, al
je 0x42aea6
xor eax, eax
inc eax
mov byte [ebp + 0x81], al
cmp byte [ebp + 0x81], 0
je 0x42a41a
push 0x2a14612b
push 0xe8b6a91e
push 0xa8aa2eea
jmp 0x42a429
push 0x975c33f2
push 0x55fefbc0
push 0x15e27c3a
call fcn.00401daa
add esp, 0xc
push eax
push 0xe053f6ca
push 0x22f13ef4
push 0x62edb91e
call fcn.00401daa
add esp, 0xc
push eax
xor eax, eax
inc eax
push eax
push dword [ebp + 0x60]
call fcn.0042040f
lea eax, [esp + 0x254]
push eax
call fcn.00473e9c
push 2
lea eax, [esp + 0x38]
mov word [esp + 0x38], 0xbbaa
push eax
lea eax, [esp + 0x260]
push eax
call fcn.00473ec4
push dword [esp + 0x54]
mov esi, dword [esp + 0x54]
lea eax, [esp + 0x268]
push esi
push eax
call fcn.00473ec4
add esp, 0x2c
lea eax, [esp + 0x244]
mov ecx, ebp
push ebx
push eax
call fcn.004286a6
push 0x14
lea ecx, [ebx + 0x58]
mov edi, eax
push ecx
push 0xf4cda8cc
push 0x366f60f3
push 0x7673e7f3
mov dword [esp + 0x38], edi
call fcn.00401daa
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push eax
xor eax, eax
inc eax
push eax
call fcn.00420582
cmp byte [ebp + 0x7f], 0
je 0x42a4e5
push ebx
mov ecx, ebp
call fcn.0042904c
xor eax, eax
inc eax
cmp byte [esp + 0x8b], 0
mov byte [esp + 0x17], al
je 0x42a54e
push esi
lea eax, [esp + 0xb0]
mov ecx, ebp
push eax
call fcn.004289d7
test al, al
jne 0x42abbb
mov dword [ebp + 0x74], 0x1b
mov al, byte [ebp + 0x26]
mov byte [ebp + 0x78], al
mov al, byte [ebp + 0x30]
push 0x4c90a5c4
mov byte [ebp + 0x79], al
mov al, byte [ebp + 0x31]
push 0x8e326dea
push 0xce2eeafc
mov byte [ebp + 0x7a], al
call fcn.00401daa
push eax
push 3
push dword [ebp + 0x60]
call fcn.0042040f
add esp, 0x18
jmp 0x42aea3
mov eax, dword [esp + 0xc0]
sub eax, dword [esp + 0xbc]
sar eax, 4
test eax, eax
jne 0x42ab6d
cmp dword [ebp + 0x70], 0x17
jne 0x42a59c
cmp byte [esp + 0x18], al
je 0x42a59c
push edi
mov ecx, ebp
call fcn.004284f2
test al, al
je 0x42a59c
xor eax, eax
mov dword [esp + 0x84], 4
inc eax
xor ecx, ecx
mov byte [esp + 0x16], al
mov byte [esp + 0x17], cl
jmp 0x42abd2
mov dl, byte [esp + 0x89]
test dl, dl
jne 0x42a5d5
lea eax, [esp + 0x44]
mov ecx, ebp
push eax
push ebx
lea eax, [esp + 0x94]
push eax
call fcn.00428c70
movzx edx, byte [esp + 0x89]
test al, al
push 1
pop eax
cmovne edx, eax
mov byte [esp + 0x89], dl
jmp 0x42a5d8
xor eax, eax
inc eax
cmp dword [ebp + 0x70], 0xb
movzx ecx, byte [esp + 0x8a]
cmove ecx, eax
mov byte [esp + 0x8a], cl
test cl, cl
jne 0x42a623
lea eax, [esp + 0x9c]
mov ecx, ebp
push eax
xor eax, eax
inc eax
push eax
call fcn.0042753f
movzx ecx, byte [esp + 0x8a]
test al, al
mov dl, byte [esp + 0x89]
push 1
pop eax
cmovne ecx, eax
mov byte [esp + 0x8a], cl
test dl, dl
je 0x42a665
test cl, cl
je 0x42a665
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0x94]
push eax
call fcn.0042c750
xor eax, eax
mov dword [esp + 0x90], 3
add esp, 0xc
inc eax
mov byte [esp + 0x8b], al
jmp 0x42aa17
cmp byte [esp + 0x18], 0
je 0x42a92e
mov eax, dword [0x52aa58]
test dword [eax + 0x14], 0x2000000
je 0x42a910
push 0x17b
lea eax, [esp + 0xcd]
push 0
push eax
call fcn.004bf040
xor eax, eax
mov byte [esp + 0xd7], 0xef
inc eax
add esp, 0xc
mov byte [esp + 0xc8], al
mov al, byte [ebp + 0x70]
mov byte [esp + 0xc9], al
mov al, byte [ebx + 0x73]
mov byte [esp + 0xca], al
call fcn.0040abee
mov esi, dword [esp + 0x1c]
lea edi, [esp + 0xe0]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xcc], eax
mov eax, dword [ebp + 0x1ac]
mov dword [esp + 0xd0], eax
mov eax, dword [ebp + 0x5c]
mov dword [esp + 0x110], edx
push 5
pop ecx
mov eax, dword [eax + 0x154]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x3c]
mov word [esp + 0xdc], ax
mov eax, dword [ebx + 0xac]
mov dword [esp + 0xd8], 0xa78
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [ebx + 0x58]
lea edi, [esp + 0xf0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x64]
lea esi, [esp + 0x9c]
mov dword [esp + 0x104], eax
lea edi, [esp + 0x114]
mov eax, dword [ebx + 0xb0]
mov dword [esp + 0x108], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
test ecx, ecx
je 0x42a7be
mov esi, 0x80000
test dword [ebx + 8], esi
jne 0x42a796
lea eax, [ebx + 0xd0]
push eax
lea ecx, [esp + 0x48]
call fcn.0043a48b
xor ecx, ecx
mov byte [ebx + 0xb], al
cmp al, 0xff
setne cl
shl ecx, 0x13
xor ecx, dword [ebx + 8]
and ecx, esi
xor dword [ebx + 8], ecx
mov ecx, dword [esp + 0x64]
mov al, byte [ebx + 0xb]
lea esi, [ebx + 0xd0]
mov byte [esp + 0xde], al
lea edi, [esp + 0x124]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ecx
lea edi, [esp + 0x134]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movzx eax, byte [esp + 0xca]
push eax
lea eax, [ebx + 0x140]
push eax
lea eax, [esp + 0x14c]
push eax
call fcn.004be9f0
xor eax, eax
push 0x28c
push eax
mov dword [esp + 0x2c0], eax
lea eax, [esp + 0x2c4]
push eax
call fcn.004bf040
lea eax, [esp + 0x2c4]
push eax
movzx eax, byte [esp + 0xe6]
add eax, 0x7c
push eax
lea eax, [esp + 0xe8]
push eax
call fcn.0043b630
add esp, 0x24
cmp eax, 0xc8
jne 0x42a903
cmp dword [esp + 0x2ac], 0x12bfbbef
jne 0x42a8e7
mov eax, dword [esp + 0x2b4]
xor ecx, ecx
inc ecx
test cl, al
je 0x42a867
lea esi, [esp + 0x2bc]
lea edi, [esp + 0xac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x84], 4
jmp 0x42aa10
shr eax, 0x10
test eax, eax
je 0x42aea3
mov word [ebp + 0x1ec], ax
shl eax, 4
push eax
call fcn.00405090
pop ecx
lea ecx, [esp + 0x2ac]
mov dword [ebp + 0x1d8], eax
call fcn.004293bb
mov dword [esp + 0x1c], eax
xor ecx, ecx
xor eax, eax
mov edx, ecx
cmp ax, word [ebp + 0x1ec]
jae 0x42a8d0
mov ebx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x1d8]
lea esi, [ebx + ecx]
add edi, ecx
inc edx
add ecx, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movzx eax, word [ebp + 0x1ec]
cmp edx, eax
jb 0x42a8ac
mov ebx, dword [esp + 0x2c]
xor ecx, ecx
mov dword [esp + 0x84], 4
xor eax, eax
inc eax
mov byte [esp + 0x16], al
jmp 0x42abd2
push 0x4c3487ad
push 0x8e964f82
push 0xce8ac8b2
call fcn.00401daa
push eax
push 2
jmp 0x42a53e
push eax
mov ecx, ebp
call fcn.00434b84
jmp 0x42aea3
push 0xb89a5ae5
push 0x7a3892cc
push 0x3a241580
call fcn.00401daa
push eax
xor eax, eax
inc eax
push eax
jmp 0x42a53e
movzx eax, byte [ebp + 0x6a]
push eax
push 0x66
push 0x2800
push dword [0x52aa60]
call dword [sym.imp.USER32.dll_SendMessageW]
xor edi, edi
inc edi
cmp eax, edi
jne 0x42aea6
push ebx
lea ecx, [esp + 0x88]
call fcn.00427ae0
cmp dword [esp + 0x64], 0
je 0x42a98e
lea eax, [ebx + 0xd0]
push eax
lea ecx, [esp + 0x48]
call fcn.0043a48b
xor ecx, ecx
mov byte [ebx + 0xb], al
cmp al, 0xff
setne cl
shl ecx, 0x13
xor ecx, dword [ebx + 8]
and ecx, 0x80000
xor dword [ebx + 8], ecx
or dword [ebx + 8], 0x200000
xor eax, eax
push 0x28c
push eax
mov dword [esp + 0x2b4], eax
lea eax, [esp + 0x2b8]
push eax
call fcn.004bf040
lea eax, [esp + 0x2b8]
push eax
push ebx
call fcn.0043b731
and dword [ebx + 8], 0xffdfffff
add esp, 0x14
cmp eax, 0xc8
jne 0x42aae6
cmp dword [esp + 0x2ac], 0x7302ac85
jne 0x42aacd
mov eax, dword [esp + 0x2b4]
xor ecx, ecx
inc ecx
test cl, al
je 0x42aa54
lea esi, [esp + 0x2bc]
lea edi, [esp + 0xac]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x84], 5
mov byte [esp + 0x8b], cl
push dword [esp + 0x30]
lea eax, [esp + 0xb0]
mov ecx, ebp
push eax
call fcn.004289d7
mov byte [esp + 0x16], al
test al, al
jne 0x42abc2
mov dword [ebp + 0x74], 0x1b
mov cl, byte [ebp + 0x26]
mov byte [ebp + 0x78], cl
mov cl, byte [ebp + 0x30]
mov byte [ebp + 0x79], cl
mov cl, byte [ebp + 0x31]
mov byte [ebp + 0x7a], cl
jmp 0x42aea3
shr eax, 0x10
test eax, eax
je 0x42aea3
mov word [ebp + 0x1ec], ax
shl eax, 4
push eax
call fcn.00405090
pop ecx
lea ecx, [esp + 0x2ac]
mov dword [ebp + 0x1d8], eax
call fcn.004293e6
mov dword [esp + 0x1c], eax
xor ecx, ecx
xor eax, eax
mov edx, ecx
cmp ax, word [ebp + 0x1ec]
jae 0x42aabd
mov ebx, dword [esp + 0x1c]
mov edi, dword [ebp + 0x1d8]
lea esi, [ebx + ecx]
add edi, ecx
inc edx
add ecx, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movzx eax, word [ebp + 0x1ec]
cmp edx, eax
jb 0x42aa99
mov ebx, dword [esp + 0x2c]
xor ecx, ecx
mov dword [esp + 0x84], 5
jmp 0x42a8db
push 0x3cc1ed71
push 0xfe63255e
push 0xbe7fa230
call fcn.00401daa
push eax
push 2
jmp 0x42ab5d
cmp eax, 0x1d7
jne 0x42aafe
push 0x7d3c2055
push 0xbf9ee871
push 0xff826efb
jmp 0x42ab55
cmp eax, 0x1d6
jne 0x42ab16
push 0xe54aadc0
push 0x27e865ec
push 0x67f4e372
jmp 0x42ab55
cmp eax, 0x1d8
jne 0x42ab2e
push 0x7fe324db
push 0xbd41ecca
push 0xfd5d6a70
jmp 0x42ab55
cmp eax, 0x1d9
jne 0x42ab46
push 0x7c5eb6a9
push 0xbefc7e91
push 0xfee0f875
jmp 0x42ab55
push 0x174a9397
push 0xd5e85bbb
push 0x95f4dd4f
call fcn.00401daa
push eax
push 3
push dword [ebp + 0x60]
call fcn.0042040f
add esp, 0x18
jmp 0x42aea6
movzx eax, ax
mov word [ebp + 0x1ec], ax
shl eax, 4
push eax
call fcn.00405090
pop ecx
mov dword [ebp + 0x1d8], eax
xor ecx, ecx
xor eax, eax
mov edx, ecx
cmp ax, word [ebp + 0x1ec]
jae 0x42abbb
mov esi, dword [esp + 0xbc]
mov edi, dword [ebp + 0x1d8]
add edi, ecx
inc edx
lea esi, [esi + ecx]
add ecx, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movzx eax, word [ebp + 0x1ec]
cmp edx, eax
jb 0x42ab96
xor eax, eax
inc eax
mov byte [esp + 0x16], al
cmp dword [esp + 0x84], 2
je 0x42acb6
xor ecx, ecx
cmp dword [ebp + 0x70], 0x16
je 0x42acb6
cmp dword [ebp + 0x70], 0xb
je 0x42acb6
cmp byte [esp + 0x18], 0
je 0x42ad58
cmp byte [esp + 0x89], 0
je 0x42ac33
push ecx
push ecx
lea eax, [esp + 0x94]
push eax
call fcn.0042b92d
add esp, 0xc
push eax
push 0x9426928c
push 0x56845ab2
push 0x1698dc9a
call fcn.00401daa
add esp, 0xc
push eax
push 5
push dword [ebp + 0x60]
call fcn.0042040f
add esp, 0x10
cmp byte [esp + 0x8a], 0
je 0x42ac69
push 0x10
lea eax, [esp + 0xa0]
push eax
push 0xa8a9bc79
push 0x6a0b7449
push 0x2a17f27b
call fcn.00401daa
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push eax
push 5
call fcn.00420582
cmp byte [esp + 0x8b], 0
je 0x42ad58
xor eax, eax
push eax
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.0042b92d
add esp, 0xc
push eax
push 0xea20daa9
push 0x28821297
push 0x689e94ad
call fcn.00401daa
add esp, 0xc
push eax
push 5
push dword [ebp + 0x60]
call fcn.0042040f
add esp, 0x10
jmp 0x42ad58
cmp byte [esp + 0x89], 0
je 0x42acec
push 0x10
lea eax, [esp + 0x90]
push eax
push 0xa44ebaad
push 0x66ec729d
push 0x26f0f48d
call fcn.00401daa
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push eax
push 5
call fcn.00420582
cmp byte [esp + 0x8a], 0
je 0x42ad22
push 0x10
lea eax, [esp + 0xa0]
push eax
push 0xfd6d94a7
push 0x3fcf5c97
push 0x7fd3da8f
call fcn.00401daa
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push eax
push 5
call fcn.00420582
cmp byte [esp + 0x8b], 0
je 0x42ad58
push 0x10
lea eax, [esp + 0xb0]
push eax
push 0x9e03d37e
push 0x5ca11b4e
push 0x1cbd9d6e
call fcn.00401daa
mov ecx, dword [ebp + 0x60]
add esp, 0xc
push eax
push 5
call fcn.00420582
push ebx
lea ecx, [esp + 0x88]
call fcn.00427ae0
lea eax, [esp + 0x44]
mov ecx, ebp
push eax
push ebx
call fcn.00429400
test al, al
jne 0x42ad7f
mov byte [esp + 0x16], al
jmp 0x42aea3
push 0xfb264272
push 0x39848a45
push 0x79980c01
call fcn.00401daa
push eax
xor eax, eax
inc eax
push eax
push dword [ebp + 0x60]
call fcn.0042040f
mov eax, dword [esp + 0x9c]
add esp, 0x18
dec eax
je 0x42adfd
dec eax
je 0x42adec
dec eax
je 0x42addb
dec eax
je 0x42adca
dec eax
jne 0x42ae21
push 0xce83d1e6
push 0xc2119fa
push 0x4c3d903c
jmp 0x42ae0c
push 0x7cd4c793
push 0xbe760f87
push 0xfe6a8625
jmp 0x42ae0c
push 0x7b3d7c80
push 0xb99fb4aa
push 0xf9833d2e
jmp 0x42ae0c
push 0xf5f55d49
push 0x37579563
push 0x774b1305
jmp 0x42ae0c
push 0x8ac10d40
push 0x4863c56d
push 0x87f4325
call fcn.00401daa
push eax
xor eax, eax
inc eax
push eax
push dword [ebp + 0x60]
call fcn.0042040f
add esp, 0x18
mov esi, 0x100000
or dword [ebx + 8], esi
cmp byte [esp + 0x17], 0
je 0x42ae4e
mov eax, dword [esp + 0x24]
test eax, eax
je 0x42ae4e
push eax
mov ecx, ebp
call fcn.0042c31a
movzx eax, al
shl eax, 0x14
xor eax, dword [ebx + 8]
and eax, esi
xor dword [ebx + 8], eax
push 0x8363ab76
push 0x41c16359
push 0x1ddeaab
call fcn.00401daa
push eax
xor eax, eax
inc eax
push eax
push dword [ebp + 0x60]
call fcn.0042040f
add esp, 0x18
cmp dword [ebp + 0x228], 0
je 0x42ae9f
push 0xd2469108
push 0x10e45926
push 0x50f8d028
call fcn.00401daa
push eax
xor eax, eax
inc eax
push eax
push dword [ebp + 0x60]
call fcn.0042040f
add esp, 0x18
and dword [ebx + 0xc], 0
xor edi, edi
inc edi
push dword [esp + 0x30]
call fcn.0040507c
cmp byte [esp + 0x1a], 0
pop ecx
je 0x42aecb
test dword [ebx + 8], 0x20000
je 0x42aecb
lea eax, [ebx + 0x7c]
mov ecx, ebp
push eax
call fcn.0042c28c
xor ecx, ecx
cmp dword [ebp + 0x74], ecx
jne 0x42aef8
cmp word [ebp + 0x1ec], cx
jne 0x42aef8
mov dword [ebp + 0x74], 0x1a
mov al, byte [ebp + 0x26]
mov byte [ebp + 0x78], al
mov al, byte [ebp + 0x30]
mov byte [ebp + 0x79], al
mov al, byte [ebp + 0x31]
mov byte [ebp + 0x7a], al
mov byte [esp + 0x16], cl
mov ecx, ebp
call fcn.004256b7
mov esi, dword [esp + 0x38]
mov dword [ebx + 0xc], eax
test esi, esi
je 0x42af1f
push dword [esp + 0x40]
push ebp
push ebx
push esi
call fcn.0042d757
push esi
call fcn.00478d1e
add esp, 0x14
mov eax, dword [0x52aa58]
test dword [eax + 0x14], 0x8000000
je 0x42af64
cmp byte [esp + 0x16], 0
jne 0x42af64
mov eax, dword [ebp + 0x74]
test eax, eax
jle 0x42af5b
cmp eax, 2
jle 0x42af64
cmp eax, 0x1a
je 0x42af64
cmp eax, 0x20
je 0x42af64
add eax, 0xffffffdf
cmp eax, edi
ja 0x42af5b
cmp dword [esp + 0x84], 5
je 0x42af64
push ebx
call fcn.0043b0d6
pop ecx
jmp 0x42af7b
push 0x240
xor eax, eax
push eax
push ebx
call fcn.004bf040
push ebx
call fcn.0040507c
add esp, 0x10
lea ecx, [esp + 0x84]
call fcn.00427b87
xor esi, esi
cmp byte [esp + 0x16], 0
cmovne esi, dword [esp + 0x28]
xor eax, eax
jmp 0x42afbd
push 0xa9a6f7a5
push 0x6b043f80
push 0x2b18b81a
call fcn.00401daa
push eax
push 2
push dword [ebp + 0x60]
call fcn.0042040f
add esp, 0x18
xor eax, eax
mov esi, eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x548], al
call fcn.0043a446
jmp 0x42afec
mov dword [ebp + 0x74], 0xd
xor ebx, ebx
mov al, byte [ebp + 0x26]
mov esi, ebx
mov byte [ebp + 0x78], al
mov al, byte [ebp + 0x30]
mov byte [ebp + 0x79], al
mov al, byte [ebp + 0x31]
mov byte [ebp + 0x7a], al
lea ecx, [esp + 0xbc]
call fcn.0040ab0c
mov eax, esi
mov ecx, dword [esp + 0x540]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x528]
xor ecx, esp
call fcn.004b9a6c
add esp, 0x538
ret