Function at 0x50a170
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x98d270]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x1ac]
cmp eax, dword [ecx + 8]
jbe 0x50b4f2
sub esp, 0x22c
lea edi, [esp + 0x1ac]
xor eax, eax
call fcn.00468c10
mov ecx, dword [esp + 0x234]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx + 0xc]
mov esi, dword [ecx]
mov eax, dword [esp + 0x238]
mov edi, dword [esp + 0x244]
mov dword [esp + 0x1a4], eax
xor eax, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x1a4]
jmp 0x50a302
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x80]
xor esi, eax
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x14]
xor eax, edi
mov edi, dword [esp + 0x230]
xor eax, dword [edi + 4]
xor dword [edi], esi
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 8]
xor eax, esi
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x7c]
xor esi, edx
xor esi, dword [edi + 0xc]
xor dword [edi + 8], eax
mov dword [edi + 0xc], esi
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
xor eax, edx
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x74]
xor edx, esi
xor edx, dword [edi + 0x14]
xor dword [edi + 0x10], eax
mov dword [edi + 0x14], edx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x68]
xor eax, edx
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x6c]
xor edx, esi
xor edx, dword [edi + 0x1c]
xor dword [edi + 0x18], eax
mov dword [edi + 0x1c], edx
mov eax, dword [esp + 0x30]
xor eax, ecx
mov ecx, dword [esp + 0x34]
xor ebp, ecx
xor ebp, dword [edi + 0x24]
xor dword [edi + 0x20], eax
mov dword [edi + 0x24], ebp
mov eax, dword [esp + 0x28]
xor eax, ebx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x5c]
xor ecx, edx
xor ecx, dword [edi + 0x2c]
xor dword [edi + 0x28], eax
mov dword [edi + 0x2c], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x50]
xor eax, ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
xor ecx, edx
xor ecx, dword [edi + 0x34]
xor dword [edi + 0x30], eax
mov dword [edi + 0x34], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x48]
xor eax, ecx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
xor ecx, edx
xor ecx, dword [edi + 0x3c]
xor dword [edi + 0x38], eax
mov dword [edi + 0x3c], ecx
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x244]
mov edx, dword [esp + 0x23c]
mov ebx, dword [esp + 0x100]
mov esi, dword [esp + 0x9c]
mov ebp, dword [esp + 0x98]
mov ecx, dword [esp + 0x234]
mov edi, dword [esp + 0x244]
mov edx, dword [esp + 0x94]
mov dword [esp + 0x98], ebp
mov ebp, dword [esp + 0x90]
cmp edi, ebp
jle 0x50a504
add esi, 0x80
adc ebx, 0
test ebx, ebx
sete cl
cmp esi, 0x80
xchg edi, ebx
setb bl
xchg edi, ebx
and ecx, edi
test cl, cl
je 0x50a348
add edx, 1
mov edi, dword [esp + 0x98]
adc edi, 0
jmp 0x50a34f
mov edi, dword [esp + 0x98]
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x100], ebx
mov ecx, dword [0x936b20]
mov ebp, dword [0x936b24]
mov eax, dword [0x936b28]
mov dword [esp + 0x58], eax
mov edi, dword [0x936b2c]
mov dword [esp + 0x5c], edi
mov edi, dword [0x936b30]
mov dword [esp + 0x50], edi
mov edi, dword [0x936b34]
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x230]
mov eax, dword [edi + 4]
mov dword [esp + 0x84], eax
mov eax, dword [edi]
mov dword [esp + 0x80], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x78], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 0x38], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x20]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x30]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x38]
mov dword [esp + 0x18], eax
mov edi, dword [edi + 0x3c]
mov dword [esp + 0x1c], edi
mov eax, dword [0x936b00]
mov dword [esp + 0x10], eax
mov eax, dword [0x936b04]
mov dword [esp + 0x14], eax
mov eax, dword [0x936b08]
mov dword [esp + 8], eax
mov eax, dword [0x936b0c]
mov dword [esp + 0xc], eax
mov eax, dword [0x936b10]
mov dword [esp + 0x70], eax
mov eax, dword [0x936b14]
mov dword [esp + 0x74], eax
mov eax, dword [0x936b18]
mov dword [esp + 0x68], eax
mov eax, dword [0x936b1c]
mov dword [esp + 0x6c], eax
mov eax, dword [0x936b38]
mov dword [esp + 0x48], eax
mov eax, dword [0x936b3c]
mov dword [esp + 0x4c], eax
xor ecx, esi
mov dword [esp + 0x60], ecx
xor ebp, ebx
mov dword [esp + 0x64], ebp
mov ebx, dword [esp + 0x58]
xor ebx, edx
mov dword [esp + 0x58], ebx
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x98]
xor edx, esi
mov dword [esp + 0x5c], edx
mov esi, dword [esp + 0x23c]
mov edx, dword [esp + 0x54]
xor edx, esi
mov dword [esp + 0x54], edx
mov esi, dword [esp + 0x238]
mov edx, dword [esp + 0x50]
xor edx, esi
mov dword [esp + 0x50], edx
mov dword [esp + 0x19c], eax
xor eax, eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x19c]
jmp 0x50a601
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x194], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x194]
jmp 0x50a8b1
mov dword [ecx], esi
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edx
mov eax, dword [esp + 0x98]
mov dword [ecx + 0xc], eax
add esp, 0x22c
ret
lea edx, [esp + esi*8 + 0x1ac]
lea eax, [esp + esi*8 + 0x1b0]
mov ecx, dword [esp + 0x240]
movzx edi, byte [ecx + ebp]
movzx ebx, byte [ecx + ebp + 1]
mov dword [esp + 0xfc], ebx
shl ebx, 8
or edi, ebx
mov ebx, dword [esp + 0xfc]
shr ebx, 0x18
movzx esi, byte [ecx + ebp + 2]
mov dword [esp + 0xfc], esi
shr esi, 0x10
or esi, ebx
mov ebx, dword [esp + 0xfc]
shl ebx, 0x10
or ebx, edi
movzx edi, byte [ecx + ebp + 3]
mov dword [esp + 0xfc], edi
shr edi, 8
or edi, esi
mov esi, dword [esp + 0xfc]
shl esi, 0x18
or esi, ebx
movzx ebx, byte [ecx + ebp + 4]
or ebx, edi
movzx edi, byte [ecx + ebp + 5]
shl edi, 8
or ebx, edi
movzx edi, byte [ecx + ebp + 6]
shl edi, 0x10
or ebx, edi
movzx ebp, byte [ecx + ebp + 7]
mov dword [edx], esi
shl ebp, 0x18
or ebx, ebp
mov dword [eax], ebx
mov eax, dword [esp + 0x8c]
inc eax
mov edx, dword [esp + 0x90]
add edx, 8
mov ebx, dword [esp + 0x248]
mov ebp, dword [esp + 0x244]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x238]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x8c]
cmp esi, 0x10
jge 0x50a4e4
mov edx, dword [esp + 0x244]
mov ebx, dword [esp + 0x90]
cmp edx, ebx
jb 0x50b4e8
sub edx, ebx
mov ebp, dword [esp + 0x248]
sub ebp, ebx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
cmp edx, 7
ja 0x50a51d
jmp 0x50b4dc
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xac], ecx
lea eax, [esp + eax*8 + 0x1ac]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov ebx, dword [esp + 0x88]
inc ebx
mov dword [esp + 0xf8], ebx
nop
mov ecx, dword [esp + 0x38]
add edx, ecx
mov ecx, dword [esp + 0xcc]
adc eax, ecx
mov ecx, dword [esp + 0xd4]
add edx, ecx
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0xf0]
adc eax, ebx
mov dword [esp + 0xcc], eax
mov ebp, dword [esp + 0x50]
xor ebp, eax
mov dword [esp + 0xf0], ebp
mov eax, dword [esp + 0x54]
xor eax, edx
mov dword [esp + 0x50], eax
shl eax, 0x10
shr ebp, 0x10
or eax, ebp
mov dword [esp + 0xd4], eax
mov ebp, dword [esp + 0x50]
shr ebp, 0x10
mov edx, dword [esp + 0xf0]
shl edx, 0x10
or edx, ebp
mov dword [esp + 0xf0], edx
mov ebp, dword [esp + 8]
add ebp, edx
mov edx, dword [esp + 0xe8]
adc edx, eax
mov dword [esp + 0xe8], edx
xor ebx, edx
mov dword [esp + 0x34], ebx
xor ecx, ebp
mov dword [esp + 0x30], ecx
shl ebx, 1
shl ecx, 1
mov eax, dword [esp + 0x30]
shr eax, 0x1f
mov edx, dword [esp + 0x34]
shr edx, 0x1f
or eax, ebx
or edx, ecx
mov ecx, dword [esp + 0xc8]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x88], eax
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x17c], edx
mov edx, dword [esp + 0x18c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x174], edx
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x16c], edx
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x164], ebx
mov ebx, dword [esp + 0xec]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x15c], ebp
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x154], esi
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x5c], edi
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x14c], edi
mov edi, dword [esp + 0x15c]
mov dword [esp + 8], edi
mov dword [esp + 0x144], edi
mov edi, dword [esp + 0xe8]
mov dword [esp + 0xc], edi
mov dword [esp + 0x13c], edi
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x44], edi
mov dword [esp + 0x134], edi
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x24], edi
mov dword [esp + 0x12c], edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0x20], edi
mov dword [esp + 0x124], edi
mov edi, dword [esp + 0xd4]
mov dword [esp + 0x54], edi
mov edx, dword [esp + 0xf0]
mov dword [esp + 0x11c], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x74], edx
mov dword [esp + 0x114], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x3c], edx
mov edi, dword [esp + 0x154]
mov dword [esp + 0x10c], edi
mov edi, dword [esp + 0xc0]
mov dword [esp + 0x18], edi
mov dword [esp + 0x104], edi
mov edi, dword [esp + 0xe0]
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0xd0]
mov esi, dword [esp + 0x184]
mov ebp, dword [esp + 0xb8]
mov edx, dword [esp + 0xf0]
mov edi, dword [esp + 0x154]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x6c], esi
mov dword [esp + 0x50], edx
mov esi, dword [esp + 0x88]
cmp esi, 0xc
jge 0x50a1db
shl esi, 4
lea edi, [0x9373e0]
movzx eax, byte [edi + esi]
cmp eax, 0x10
jae 0x50b4d2
mov dword [esp + 0x58], ebx
mov dword [esp + 0xf8], esi
lea eax, [esp + eax*8 + 0x1ac]
mov edx, dword [eax]
mov eax, dword [eax + 4]
movzx ebx, byte [edi + esi + 1]
nop
mov esi, dword [esp + 0x80]
add edx, esi
mov esi, dword [esp + 0x84]
adc eax, esi
mov esi, dword [esp + 0x30]
add edx, esi
mov dword [esp + 0x80], edx
mov edi, dword [esp + 0x34]
adc eax, edi
xor ebp, eax
mov dword [esp + 0x64], ebp
xor ecx, edx
mov edx, dword [esp + 0x10]
add edx, ebp
mov dword [esp + 0x10], edx
mov ebp, dword [esp + 0x14]
adc ebp, ecx
mov dword [esp + 0xf4], ebp
xor edi, ebp
mov dword [esp + 0x34], edi
xor esi, edx
mov dword [esp + 0x30], esi
shl esi, 8
shl edi, 8
mov ebp, dword [esp + 0x34]
shr ebp, 0x18
mov edx, dword [esp + 0x30]
shr edx, 0x18
or ebp, esi
or edi, edx
cmp ebx, 0x10
jae 0x50b4c6
mov dword [esp + 0x60], ecx
mov dword [esp + 0xfc], ebp
mov dword [esp + 0xf0], edi
lea edx, [esp + ebx*8 + 0x1ac]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov esi, dword [esp + 0xf8]
lea ebp, [0x9373e0]
movzx ecx, byte [ebp + esi + 2]
nop
mov edi, dword [esp + 0x78]
add ebx, edi
mov edi, dword [esp + 0x7c]
adc edx, edi
mov edi, dword [esp + 0x28]
add ebx, edi
mov dword [esp + 0x78], ebx
mov ebp, dword [esp + 0x2c]
adc edx, ebp
mov dword [esp + 0xec], edx
mov esi, dword [esp + 0x5c]
xor esi, edx
mov dword [esp + 0x5c], esi
mov edx, dword [esp + 0x58]
xor edx, ebx
mov ebx, dword [esp + 8]
add ebx, esi
mov dword [esp + 8], ebx
mov esi, dword [esp + 0xc]
adc esi, edx
mov dword [esp + 0xe8], esi
xor ebp, esi
mov dword [esp + 0x2c], ebp
xor edi, ebx
mov dword [esp + 0x28], edi
shl edi, 8
shl ebp, 8
mov esi, dword [esp + 0x2c]
shr esi, 0x18
mov ebx, dword [esp + 0x28]
shr ebx, 0x18
or esi, edi
or ebp, ebx
cmp ecx, 0x10
jae 0x50b4ba
mov dword [esp + 0x58], edx
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe0], ebp
lea ebx, [esp + ecx*8 + 0x1ac]
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
mov edx, dword [esp + 0xf8]
lea esi, [0x9373e0]
movzx ecx, byte [esi + edx + 3]
nop
mov ebp, dword [esp + 0x40]
add edi, ebp
mov ebp, dword [esp + 0x44]
adc ebx, ebp
mov ebp, dword [esp + 0x20]
add edi, ebp
mov dword [esp + 0x40], edi
mov edx, dword [esp + 0x24]
adc ebx, edx
mov dword [esp + 0xdc], ebx
mov esi, dword [esp + 0x54]
xor esi, ebx
mov dword [esp + 0x54], esi
mov ebx, dword [esp + 0x50]
xor ebx, edi
mov edi, dword [esp + 0x70]
add edi, esi
mov dword [esp + 0x70], edi
mov esi, dword [esp + 0x74]
adc esi, ebx
mov dword [esp + 0xd8], esi
xor edx, esi
mov dword [esp + 0x24], edx
xor ebp, edi
mov dword [esp + 0x20], ebp
shl ebp, 8
shl edx, 8
mov esi, dword [esp + 0x24]
shr esi, 0x18
mov edi, dword [esp + 0x20]
shr edi, 0x18
or esi, ebp
or edx, edi
cmp ecx, 0x10
jae 0x50b4ae
mov dword [esp + 0x50], ebx
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd0], edx
lea ebp, [esp + ecx*8 + 0x1ac]
mov edi, dword [ebp]
mov ebp, dword [ebp + 4]
mov ebx, dword [esp + 0xf8]
lea esi, [0x9373e0]
movzx ecx, byte [esi + ebx + 4]
nop
mov edx, dword [esp + 0x38]
add edi, edx
mov edx, dword [esp + 0x3c]
adc ebp, edx
mov edx, dword [esp + 0x18]
add edi, edx
mov dword [esp + 0x38], edi
mov ebx, dword [esp + 0x1c]
adc ebp, ebx
mov dword [esp + 0xcc], ebp
mov esi, dword [esp + 0x4c]
xor esi, ebp
mov dword [esp + 0x4c], esi
mov ebp, dword [esp + 0x48]
xor ebp, edi
mov edi, dword [esp + 0x68]
add edi, esi
mov dword [esp + 0x68], edi
mov esi, dword [esp + 0x6c]
adc esi, ebp
mov dword [esp + 0xc8], esi
xor ebx, esi
mov dword [esp + 0x1c], ebx
xor edx, edi
mov dword [esp + 0x18], edx
shl edx, 8
shl ebx, 8
mov esi, dword [esp + 0x1c]
shr esi, 0x18
mov edi, dword [esp + 0x18]
shr edi, 0x18
or esi, edx
or ebx, edi
cmp ecx, 0x10
jae 0x50b4a2
mov dword [esp + 0x48], ebp
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc0], ebx
lea edx, [esp + ecx*8 + 0x1ac]
mov edi, dword [edx]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0xf8]
lea esi, [0x9373e0]
movzx ecx, byte [esi + ebp + 5]
nop
nop
mov ebx, dword [esp + 0x80]
add edi, ebx
adc edx, eax
mov ebx, dword [esp + 0xf0]
add edi, ebx
mov dword [esp + 0x80], edi
mov eax, ebp
mov ebp, dword [esp + 0xfc]
adc edx, ebp
mov dword [esp + 0xbc], edx
mov esi, dword [esp + 0x60]
xor esi, edx
mov dword [esp + 0xfc], esi
mov edx, dword [esp + 0x64]
xor edx, edi
mov dword [esp + 0x60], edx
shl edx, 0x10
shr esi, 0x10
or esi, edx
mov edx, dword [esp + 0x60]
shr edx, 0x10
mov edi, dword [esp + 0xfc]
shl edi, 0x10
or edi, edx
mov dword [esp + 0xfc], edi
mov edx, dword [esp + 0x10]
add edx, edi
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0xf4]
adc edi, esi
mov dword [esp + 0xf4], edi
xor ebp, edi
mov dword [esp + 0x34], ebp
xor ebx, edx
mov dword [esp + 0x30], ebx
shl ebp, 1
shl ebx, 1
mov edi, dword [esp + 0x30]
shr edi, 0x1f
mov edx, dword [esp + 0x34]
shr edx, 0x1f
or edi, ebp
or edx, ebx
cmp ecx, 0x10
jae 0x50b496
mov dword [esp + 0xf0], edx
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], edi
lea ebx, [esp + ecx*8 + 0x1ac]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea edi, [0x9373e0]
movzx ecx, byte [edi + eax + 6]
nop
nop
mov edx, dword [esp + 0x78]
add ebp, edx
mov edx, dword [esp + 0xec]
adc ebx, edx
mov edx, dword [esp + 0xe0]
add ebp, edx
mov dword [esp + 0x78], ebp
mov esi, dword [esp + 0xe4]
adc ebx, esi
mov dword [esp + 0xec], ebx
mov edi, dword [esp + 0x58]
xor edi, ebx
mov dword [esp + 0xe4], edi
mov ebx, dword [esp + 0x5c]
xor ebx, ebp
mov dword [esp + 0x58], ebx
shl ebx, 0x10
shr edi, 0x10
or edi, ebx
mov ebx, dword [esp + 0x58]
shr ebx, 0x10
mov ebp, dword [esp + 0xe4]
shl ebp, 0x10
or ebp, ebx
mov dword [esp + 0xe4], ebp
mov ebx, dword [esp + 8]
add ebx, ebp
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xe8]
adc ebp, edi
mov dword [esp + 0xe8], ebp
xor esi, ebp
mov dword [esp + 0x2c], esi
xor edx, ebx
mov dword [esp + 0x28], edx
shl esi, 1
shl edx, 1
mov ebp, dword [esp + 0x28]
shr ebp, 0x1f
mov ebx, dword [esp + 0x2c]
shr ebx, 0x1f
or ebp, esi
or ebx, edx
cmp ecx, 0x10
jae 0x50b48a
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xb0], edi
mov dword [esp + 0xac], ebp
lea edx, [esp + ecx*8 + 0x1ac]
mov esi, dword [edx]
mov edx, dword [edx + 4]
lea edi, [0x9373e0]
movzx ecx, byte [edi + eax + 7]
nop
nop
mov ebp, dword [esp + 0x40]
add esi, ebp
mov ebp, dword [esp + 0xdc]
adc edx, ebp
mov ebp, dword [esp + 0xd0]
add esi, ebp
mov dword [esp + 0x40], esi
mov ebx, dword [esp + 0xd4]
adc edx, ebx
mov dword [esp + 0xdc], edx
mov edi, dword [esp + 0x50]
xor edi, edx
mov dword [esp + 0xd4], edi
mov edx, dword [esp + 0x54]
xor edx, esi
mov dword [esp + 0x50], edx
shl edx, 0x10
shr edi, 0x10
or edi, edx
mov dword [esp + 0xd0], edi
mov edx, dword [esp + 0x50]
shr edx, 0x10
mov esi, dword [esp + 0xd4]
shl esi, 0x10
or esi, edx
mov dword [esp + 0xd4], esi
mov edx, dword [esp + 0x70]
add edx, esi
mov esi, dword [esp + 0xd8]
adc esi, edi
mov dword [esp + 0xd8], esi
xor ebx, esi
mov dword [esp + 0x24], ebx
xor ebp, edx
mov dword [esp + 0x20], ebp
shl ebx, 1
shl ebp, 1
mov edi, dword [esp + 0x20]
shr edi, 0x1f
mov esi, dword [esp + 0x24]
shr esi, 0x1f
or edi, ebx
or esi, ebp
cmp ecx, 0x10
jae 0x50b47e
mov dword [esp + 0xa8], esi
mov dword [esp + 0x70], edx
mov dword [esp + 0xa4], edi
lea ebx, [esp + ecx*8 + 0x1ac]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
lea edi, [0x9373e0]
movzx ecx, byte [edi + eax + 8]
nop
nop
mov esi, dword [esp + 0x38]
add ebp, esi
mov esi, dword [esp + 0xcc]
adc ebx, esi
mov esi, dword [esp + 0xc0]
add ebp, esi
mov dword [esp + 0x38], ebp
mov edx, dword [esp + 0xc4]
adc ebx, edx
mov dword [esp + 0xcc], ebx
mov edi, dword [esp + 0x48]
xor edi, ebx
mov dword [esp + 0xc4], edi
mov ebx, dword [esp + 0x4c]
xor ebx, ebp
mov dword [esp + 0x48], ebx
shl ebx, 0x10
shr edi, 0x10
or edi, ebx
mov ebx, dword [esp + 0x48]
shr ebx, 0x10
mov ebp, dword [esp + 0xc4]
shl ebp, 0x10
or ebp, ebx
mov dword [esp + 0xc4], ebp
mov ebx, dword [esp + 0x68]
add ebx, ebp
mov dword [esp + 0x68], ebx
mov ebp, dword [esp + 0xc8]
adc ebp, edi
mov dword [esp + 0xc8], ebp
xor edx, ebp
mov dword [esp + 0x1c], edx
xor esi, ebx
mov dword [esp + 0x18], esi
shl edx, 1
shl esi, 1
mov ebp, dword [esp + 0x18]
shr ebp, 0x1f
mov ebx, dword [esp + 0x1c]
shr ebx, 0x1f
or ebp, edx
or ebx, esi
cmp ecx, 0x10
jae 0x50b472
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xa0], ebp
lea edx, [esp + ecx*8 + 0x1ac]
mov esi, dword [edx]
mov edx, dword [edx + 4]
lea ebp, [0x9373e0]
movzx ecx, byte [ebp + eax + 9]
nop
mov ebx, dword [esp + 0x80]
add esi, ebx
mov ebx, dword [esp + 0xbc]
adc edx, ebx
mov ebx, dword [esp + 0xe0]
add esi, ebx
mov dword [esp + 0x80], esi
mov ebp, dword [esp + 0xac]
adc edx, ebp
mov dword [esp + 0xbc], edx
xor edi, edx
mov dword [esp + 0x4c], edi
mov edx, dword [esp + 0xc4]
xor edx, esi
mov esi, dword [esp + 0x70]
add esi, edi
mov dword [esp + 0x70], esi
mov edi, dword [esp + 0xd8]
adc edi, edx
mov dword [esp + 0xd8], edi
xor ebp, edi
mov dword [esp + 0x2c], ebp
xor ebx, esi
mov dword [esp + 0x28], ebx
shl ebx, 8
shl ebp, 8
mov edi, dword [esp + 0x2c]
shr edi, 0x18
mov esi, dword [esp + 0x28]
shr esi, 0x18
or edi, ebx
or ebp, esi
cmp ecx, 0x10
jae 0x50b466
mov dword [esp + 0xe0], edi
mov dword [esp + 0x48], edx
mov dword [esp + 0xc4], ebp
lea ebx, [esp + ecx*8 + 0x1ac]
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
lea edx, [0x9373e0]
movzx ecx, byte [edx + eax + 0xa]
nop
mov edi, dword [esp + 0x78]
add esi, edi
mov edi, dword [esp + 0xec]
adc ebx, edi
mov edi, dword [esp + 0xa8]
add esi, edi
mov dword [esp + 0x78], esi
mov ebp, dword [esp + 0xa4]
adc ebx, ebp
mov dword [esp + 0xec], ebx
mov edx, dword [esp + 0xb8]
xor edx, ebx
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0xfc]
xor ebx, esi
mov esi, dword [esp + 0x68]
add esi, edx
mov dword [esp + 0x68], esi
mov edx, dword [esp + 0xc8]
adc edx, ebx
mov dword [esp + 0xc8], edx
xor ebp, edx
mov dword [esp + 0x24], ebp
xor edi, esi
mov dword [esp + 0x20], edi
shl edi, 8
shl ebp, 8
mov edx, dword [esp + 0x24]
shr edx, 0x18
mov esi, dword [esp + 0x20]
shr esi, 0x18
or edx, edi
or ebp, esi
cmp ecx, 0x10
jae 0x50b45a
mov dword [esp + 0xfc], edx
mov dword [esp + 0x60], ebx
mov dword [esp + 0xb8], ebp
lea esi, [esp + ecx*8 + 0x1ac]
mov edi, dword [esi]
mov esi, dword [esi + 4]
lea ebx, [0x9373e0]
movzx ecx, byte [ebx + eax + 0xb]
nop
mov edx, dword [esp + 0x40]
add edi, edx
mov edx, dword [esp + 0xdc]
adc esi, edx
mov edx, dword [esp + 0xc0]
add edi, edx
mov dword [esp + 0x40], edi
mov ebp, dword [esp + 0xa0]
adc esi, ebp
mov dword [esp + 0xdc], esi
mov ebx, dword [esp + 0xb0]
xor ebx, esi
mov dword [esp + 0x5c], ebx
mov esi, dword [esp + 0xe4]
xor esi, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov dword [esp + 0x10], edi
mov ebx, dword [esp + 0xf4]
adc ebx, esi
mov dword [esp + 0xf4], ebx
xor ebp, ebx
mov dword [esp + 0x1c], ebp
xor edx, edi
mov dword [esp + 0x18], edx
shl edx, 8
shl ebp, 8
mov ebx, dword [esp + 0x1c]
shr ebx, 0x18
mov edi, dword [esp + 0x18]
shr edi, 0x18
or ebx, edx
or ebp, edi
cmp ecx, 0x10
jae 0x50b44e
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0xc0], ebp
lea edx, [esp + ecx*8 + 0x1ac]
mov edi, dword [edx]
mov edx, dword [edx + 4]
lea esi, [0x9373e0]
movzx ecx, byte [esi + eax + 0xc]
nop
mov ebx, dword [esp + 0x38]
add edi, ebx
mov ebx, dword [esp + 0xcc]
adc edx, ebx
mov ebx, dword [esp + 0xf0]
add edi, ebx
mov dword [esp + 0x38], edi
mov ebp, dword [esp + 0xb4]
adc edx, ebp
mov dword [esp + 0xcc], edx
mov esi, dword [esp + 0xd0]
xor esi, edx
mov dword [esp + 0x54], esi
mov edx, dword [esp + 0xd4]
xor edx, edi
mov edi, dword [esp + 8]
add edi, esi
mov dword [esp + 8], edi
mov esi, dword [esp + 0xe8]
adc esi, edx
mov dword [esp + 0xe8], esi
xor ebp, esi
mov dword [esp + 0x34], ebp
xor ebx, edi
mov dword [esp + 0x30], ebx
shl ebx, 8
shl ebp, 8
mov esi, dword [esp + 0x34]
shr esi, 0x18
mov edi, dword [esp + 0x30]
shr edi, 0x18
or esi, ebx
or ebp, edi
cmp ecx, 0x10
jae 0x50b442
mov dword [esp + 0xf0], esi
mov dword [esp + 0x50], edx
mov dword [esp + 0xd4], ebp
lea ebx, [esp + ecx*8 + 0x1ac]
mov edi, dword [ebx]
mov ebx, dword [ebx + 4]
lea edx, [0x9373e0]
movzx ecx, byte [edx + eax + 0xd]
nop
nop
mov esi, dword [esp + 0x80]
add edi, esi
mov esi, dword [esp + 0xbc]
adc ebx, esi
mov esi, dword [esp + 0xc4]
add edi, esi
mov dword [esp + 0x80], edi
mov ebp, dword [esp + 0xe0]
adc ebx, ebp
mov dword [esp + 0xbc], ebx
mov edx, dword [esp + 0x48]
xor edx, ebx
mov dword [esp + 0xe0], edx
mov ebx, dword [esp + 0x4c]
xor ebx, edi
mov dword [esp + 0x48], ebx
shl ebx, 0x10
shr edx, 0x10
or edx, ebx
mov dword [esp + 0xd0], edx
mov ebx, dword [esp + 0x48]
shr ebx, 0x10
mov edi, dword [esp + 0xe0]
shl edi, 0x10
or edi, ebx
mov dword [esp + 0xe0], edi
mov ebx, dword [esp + 0x70]
add ebx, edi
mov dword [esp + 0x70], ebx
mov edi, dword [esp + 0xd8]
adc edi, edx
xor ebp, edi
mov dword [esp + 0x2c], ebp
xor esi, ebx
mov dword [esp + 0x28], esi
shl ebp, 1
shl esi, 1
mov edx, dword [esp + 0x28]
shr edx, 0x1f
mov ebx, dword [esp + 0x2c]
shr ebx, 0x1f
or ebp, edx
or ebx, esi
cmp ecx, 0x10
jae 0x50b436
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xd8], edi
mov dword [esp + 0xb4], ebp
lea edx, [esp + ecx*8 + 0x1ac]
mov esi, dword [edx]
mov edx, dword [edx + 4]
lea ebx, [0x9373e0]
movzx ecx, byte [ebx + eax + 0xe]
nop
nop
mov ebp, dword [esp + 0x78]
add esi, ebp
mov ebp, dword [esp + 0xec]
adc edx, ebp
mov ebp, dword [esp + 0xb8]
add esi, ebp
mov dword [esp + 0x78], esi
mov edi, dword [esp + 0xfc]
adc edx, edi
mov dword [esp + 0xec], edx
mov ebx, dword [esp + 0x60]
xor ebx, edx
mov dword [esp + 0xfc], ebx
mov edx, dword [esp + 0x64]
xor edx, esi
mov dword [esp + 0x60], edx
shl edx, 0x10
shr ebx, 0x10
or ebx, edx
mov dword [esp + 0xb8], ebx
mov edx, dword [esp + 0x60]
shr edx, 0x10
mov esi, dword [esp + 0xfc]
shl esi, 0x10
or esi, edx
mov dword [esp + 0xfc], esi
mov edx, dword [esp + 0x68]
add edx, esi
mov dword [esp + 0x68], edx
mov esi, dword [esp + 0xc8]
adc esi, ebx
xor edi, esi
mov dword [esp + 0x24], edi
xor ebp, edx
mov dword [esp + 0x20], ebp
shl edi, 1
shl ebp, 1
mov edx, dword [esp + 0x20]
shr edx, 0x1f
mov ebx, dword [esp + 0x24]
shr ebx, 0x1f
or edi, edx
or ebx, ebp
cmp ecx, 0x10
jae 0x50b42a
mov dword [esp + 0xc8], esi
mov dword [esp + 0xb0], edi
lea edx, [esp + ecx*8 + 0x1ac]
mov ebp, dword [edx]
mov edx, dword [edx + 4]
mov ecx, ebx
lea ebx, [0x9373e0]
movzx eax, byte [ebx + eax + 0xf]
nop
nop
mov ebx, dword [esp + 0x40]
add ebp, ebx
mov ebx, dword [esp + 0xdc]
adc edx, ebx
mov ebx, dword [esp + 0xc0]
add ebp, ebx
mov dword [esp + 0x40], ebp
mov esi, dword [esp + 0xe4]
adc edx, esi
mov dword [esp + 0xdc], edx
mov edi, dword [esp + 0x58]
xor edi, edx
mov dword [esp + 0xe4], edi
mov edx, dword [esp + 0x5c]
xor edx, ebp
mov dword [esp + 0x58], edx
shl edx, 0x10
shr edi, 0x10
or edi, edx
mov edx, dword [esp + 0x58]
shr edx, 0x10
mov ebp, dword [esp + 0xe4]
shl ebp, 0x10
or ebp, edx
mov dword [esp + 0xe4], ebp
mov edx, dword [esp + 0x10]
add edx, ebp
mov dword [esp + 0x10], edx
mov ebp, dword [esp + 0xf4]
adc ebp, edi
mov dword [esp + 0xf4], ebp
xor esi, ebp
mov dword [esp + 0x1c], esi
xor ebx, edx
mov dword [esp + 0x18], ebx
shl esi, 1
shl ebx, 1
mov edx, dword [esp + 0x18]
shr edx, 0x1f
mov ebp, dword [esp + 0x1c]
shr ebp, 0x1f
or esi, edx
or ebp, ebx
cmp eax, 0x10
jb 0x50a64b
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ecx
mov ecx, 0x10
call fcn.00468a00
mov eax, ebx
mov ecx, 0x10
call fcn.00468a00
mov ecx, 0x10
call fcn.00468a00
mov eax, 7
mov ecx, edx
call fcn.00468a00
mov eax, ebx
mov ecx, edx
call fcn.00468a60
nop
call fcn.00467590
jmp fcn.0050a170