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

Disassembly:
push ebp
add ecx, edx
push edi
mov edi, eax
push esi
push ebx
sub esp, 0x10c
mov esi, dword [edi + 0x75ec]
mov ebp, dword [edi + 0x7570]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x40], esi
mov esi, dword [edi + 0x74b0]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x44], esi
mov esi, dword [edi + 0x74b4]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], esi
mov esi, dword [edi + 0x74b8]
mov dword [esp + 0x90], ebp
mov dword [esp + 0x64], esi
test ecx, ecx
je 0x417bb8
mov ebx, edi
mov esi, dword [edi + 0x682c]
mov dword [edi + 0x7504], 1
mov edx, dword [ebx + 0x6834]
mov edi, dword [edi + 0x6830]
mov dword [esp + 0xf4], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0xf8], edi
mov dword [esp + 0xfc], edx
test eax, eax
je 0x417c63
mov edx, dword [esp + 0x120]
mov edi, dword [esp + 0x120]
lea ebx, [edx + 4]
mov dword [esp + 0xd4], edx
movzx edx, byte [edx + eax - 1]
mov dword [esp + 0x34], ebx
mov dword [esp + 0xd8], ebx
cmp eax, 3
jbe 0x417c20
lea ecx, [edi + eax - 4]
mov dword [esp + 0xd0], ecx
mov ecx, dword [ecx]
mov dword [esp + 0xc8], ecx
test dl, dl
je 0x417c63
bsr edx, edx
mov ecx, 8
sub ecx, edx
mov dword [esp + 0xcc], ecx
cmp eax, 0xffffff88
ja 0x417c63
mov ebx, dword [esp + 0x50]
lea edx, [esp + 0xc8]
lea eax, [esp + 0xdc]
mov ecx, dword [ebx]
call fcn.00412c80
mov ecx, dword [ebx + 8]
lea edx, [esp + 0xc8]
lea eax, [esp + 0xe4]
call fcn.00412c80
mov ecx, dword [ebx + 4]
lea edx, [esp + 0xc8]
lea eax, [esp + 0xec]
call fcn.00412c80
mov edx, dword [esp + 0xe0]
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x70], edx
lea ebx, [edx + eax*8]
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xec]
movzx edi, word [ebx]
mov dword [esp + 0x74], edx
lea ecx, [edx + eax*8]
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0xe4]
mov word [esp + 0x4c], di
movzx edi, word [ecx]
lea eax, [edx + eax*8]
mov dword [esp + 0x78], edx
mov edx, dword [ecx + 4]
mov word [esp + 0x54], di
movzx edi, word [eax]
mov dword [esp + 0x38], edx
mov edx, dword [ebx + 4]
mov word [esp + 0x58], di
movzx edi, byte [ebx + 3]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x68], edi
movzx edi, byte [ecx + 3]
mov dword [esp + 0x30], edx
movzx edx, byte [ebx + 2]
mov dword [esp + 0x6c], edi
mov byte [esp + 0x24], dl
movzx edx, byte [ecx + 2]
mov byte [esp + 0x3c], dl
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 3]
mov dword [esp + 0x7c], eax
cmp dl, 1
jbe 0x417fc0
movzx eax, dl
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x80], eax
mov edi, eax
mov eax, dword [esp + 0xc8]
mov ebx, eax
mov dword [esp + 0x84], eax
shl ebx, cl
cmp dl, 0x18
jbe 0x416c59
test byte [esp + 0x12c], 1
jne 0x4183b0
mov edi, dword [esp + 0x80]
lea eax, [edi + ecx]
neg edi
mov ecx, edi
mov dword [esp + 0xcc], eax
shr ebx, cl
add ebx, dword [esp + 0x30]
mov dword [esp + 0x30], ebx
cmp eax, 0x20
ja 0x416cd5
mov edx, dword [esp + 0xd0]
cmp dword [esp + 0x34], edx
jbe 0x4184f9
cmp dword [esp + 0x120], edx
je 0x416cd5
mov ecx, eax
mov ebx, edx
shr ecx, 3
sub ebx, ecx
cmp dword [esp + 0x120], ebx
jbe 0x416cb9
mov ebx, dword [esp + 0x120]
mov ecx, edx
sub ecx, dword [esp + 0x120]
mov edx, dword [ebx]
shl ecx, 3
mov dword [esp + 0xd0], ebx
sub eax, ecx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc8], edx
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xfc], edi
mov edi, dword [esp + 0x30]
xor ebx, ebx
cmp byte [esp + 0x3c], 0
mov dword [esp + 0xf8], esi
mov dword [esp + 0xf4], edi
jne 0x4181d0
movzx esi, byte [esp + 0x24]
add ebx, esi
cmp ebx, 0x13
jg 0x418160
cmp byte [esp + 0x24], 0
jne 0x4182f0
mov ecx, dword [esp + 0xd0]
cmp eax, 0x20
ja 0x418208
cmp dword [esp + 0x34], ecx
jbe 0x418340
cmp dword [esp + 0x120], ecx
je 0x418208
mov edx, eax
mov ebx, ecx
shr edx, 3
sub ebx, edx
cmp dword [esp + 0x120], ebx
ja 0x4184b8
mov dword [esp + 0xd0], ebx
mov ebx, dword [ebx]
shl edx, 3
sub eax, edx
mov dword [esp + 0xc8], ebx
mov edi, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
mov edx, ebx
add eax, edi
mov ecx, eax
add eax, esi
neg ecx
mov dword [esp + 0xcc], eax
shr edx, cl
movzx ecx, word [esp + 0x4c]
and edx, dword [edi*4 + 0x4282c0]
mov edi, ebx
add edx, ecx
mov ecx, eax
neg ecx
mov dword [esp + 0xdc], edx
movzx edx, word [esp + 0x54]
shr edi, cl
mov ecx, dword [esi*4 + 0x4282c0]
and ecx, edi
add edx, ecx
mov dword [esp + 0xec], edx
cmp eax, 0x20
ja 0x416e05
mov edx, dword [esp + 0xd0]
cmp dword [esp + 0x34], edx
jbe 0x418318
cmp dword [esp + 0x120], edx
je 0x416e05
mov ecx, eax
mov ebx, edx
shr ecx, 3
sub ebx, ecx
cmp dword [esp + 0x120], ebx
ja 0x4184a0
mov dword [esp + 0xd0], ebx
mov ebx, dword [ebx]
shl ecx, 3
sub eax, ecx
mov dword [esp + 0xc8], ebx
mov esi, dword [esp + 0x7c]
add eax, esi
mov ecx, eax
mov dword [esp + 0x3c], eax
mov edi, eax
mov dword [esp + 0xcc], eax
neg ecx
movzx eax, word [esp + 0x58]
shr ebx, cl
and ebx, dword [esi*4 + 0x4282c0]
mov esi, dword [esp + 0x28]
add eax, ebx
mov dword [esp + 0xe4], eax
lea eax, [ebp + esi]
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x40], eax
jb 0x418cc0
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], eax
movzx eax, byte [esp + 0x12c]
and eax, 1
mov byte [esp + 0x80], al
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
lea ecx, [ebp + ebx - 0x20]
mov edx, eax
mov dword [esp + 0x58], ecx
mov ecx, eax
add esi, ebx
add ecx, ebx
add edx, esi
mov dword [esp + 0x2c], esi
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x3c], ecx
sub ecx, dword [esp + 0x30]
mov dword [esp + 0x68], edx
mov dword [esp + 0x54], ecx
cmp dword [esp + 0x40], ebx
jb 0x417f10
cmp dword [esp + 0x58], edx
jb 0x417f10
mov edx, dword [esp + 0x48]
sub edx, eax
mov eax, esi
add eax, 0x20
cmp edx, eax
jb 0x417f10
mov ebx, dword [ebp]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x24]
cmp dword [esp + 0x28], 0x10
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], eax
mov dword [esi], ebx
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov dword [esi + 0xc], eax
ja 0x4180a0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x44]
cmp dword [esp + 0x30], eax
jbe 0x416f78
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x60]
cmp dword [esp + 0x30], eax
ja 0x417c63
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x38]
sub eax, dword [esp + 0x44]
add eax, ecx
lea edx, [eax + esi]
cmp ecx, edx
jae 0x417fa0
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov esi, ebx
sub esi, dword [esp + 0x54]
mov dword [esp], ebp
mov dword [esp + 8], esi
call sub.cygwin1.dll_memmove
mov eax, ebp
sub dword [esp + 0x38], esi
add eax, esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x30], 0xf
jbe 0x418250
mov ebp, dword [esp + 0x54]
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x38], 0x10
mov esi, dword [ebp]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xb8], esi
mov dword [ebx], esi
mov esi, ebx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], eax
jle 0x417039
mov dword [esp + 0x28], edi
mov eax, ebp
add esi, 0x10
mov ebp, dword [esp + 0x68]
mov ebx, esi
add eax, 0x10
lea esi, [esi]
mov edi, dword [eax]
mov esi, dword [eax + 4]
add ebx, 0x20
add eax, 0x20
mov ecx, dword [eax - 0x18]
mov edx, dword [eax - 0x14]
mov dword [ebx - 0x20], edi
mov dword [ebx - 0x1c], esi
mov dword [ebx - 0x18], ecx
mov dword [ebx - 0x14], edx
mov edi, dword [eax - 0x10]
mov esi, dword [eax - 0xc]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [esp + 0xb8], edi
mov dword [ebx - 0x10], edi
mov dword [ebx - 0xc], esi
mov dword [ebx - 8], ecx
mov dword [ebx - 4], edx
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
cmp ebp, ebx
ja 0x416fe0
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp eax, 0xffffff88
ja 0x417c09
add dword [esp + 0x24], eax
sub dword [esp + 0x128], 1
je 0x418000
cmp edi, 0x20
ja 0x4170b5
mov eax, dword [esp + 0xd0]
cmp dword [esp + 0x34], eax
jbe 0x417ee0
cmp dword [esp + 0x120], eax
je 0x4170b5
mov edx, edi
mov ecx, eax
shr edx, 3
sub ecx, edx
cmp dword [esp + 0x120], ecx
jbe 0x417099
sub eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x120]
mov edx, eax
mov eax, dword [ecx]
shl edx, 3
mov dword [esp + 0xd0], ecx
sub edi, edx
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xdc]
mov esi, dword [esp + 0x70]
lea ebx, [esi + eax*8]
mov eax, dword [esp + 0xec]
mov esi, dword [esp + 0x74]
movzx ebp, byte [ebx + 3]
lea ecx, [esi + eax*8]
mov eax, dword [esp + 0xe4]
mov esi, dword [esp + 0x78]
lea edx, [esi + eax*8]
mov eax, dword [ecx + 4]
movzx esi, word [ebx]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 4]
mov word [esp + 0x4c], si
movzx esi, word [ecx]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 4]
mov word [esp + 0x54], si
movzx esi, word [edx]
mov dword [esp + 0x30], eax
movzx eax, byte [ebx + 2]
movzx ebx, byte [ecx + 3]
mov word [esp + 0x58], si
mov byte [esp + 0x2c], al
movzx eax, byte [ecx + 2]
mov dword [esp + 0x68], ebx
movzx ebx, byte [edx + 3]
mov byte [esp + 0x3c], al
movzx eax, byte [edx + 2]
mov dword [esp + 0x6c], ebx
cmp al, 1
jbe 0x417d00
mov esi, dword [esp + 0xc8]
mov ecx, edi
movzx edx, al
mov ebx, esi
mov dword [esp + 0x7c], esi
shl ebx, cl
cmp al, 0x18
jbe 0x417d38
cmp byte [esp + 0x80], 0
je 0x417d38
mov eax, 0x20
mov esi, edx
sub eax, edi
cmp eax, edx
cmova eax, edx
mov ecx, eax
sub esi, eax
add edi, eax
neg ecx
mov dword [esp + 0x84], esi
shr ebx, cl
mov ecx, esi
mov dword [esp + 0xcc], edi
shl ebx, cl
add ebx, dword [esp + 0x30]
mov dword [esp + 0x30], ebx
cmp edi, 0x20
ja 0x4171ed
mov ebx, dword [esp + 0xd0]
cmp dword [esp + 0x34], ebx
jbe 0x4187d0
cmp dword [esp + 0x120], ebx
je 0x4171ed
mov ecx, edi
mov esi, ebx
shr ecx, 3
sub esi, ecx
cmp dword [esp + 0x120], esi
ja 0x4184e4
mov ebx, dword [esi]
shl ecx, 3
mov dword [esp + 0xd0], esi
sub edi, ecx
mov dword [esp + 0xcc], edi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0xc8], ebx
mov esi, dword [esp + 0x84]
test esi, esi
jne 0x418380
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x30]
xor edx, edx
cmp byte [esp + 0x3c], 0
mov dword [esp + 0xf4], eax
jne 0x417e70
movzx ebx, byte [esp + 0x2c]
add edx, ebx
cmp edx, 0x13
jg 0x417dc0
cmp byte [esp + 0x2c], 0
jne 0x417e30
mov eax, dword [esp + 0xd0]
cmp edi, 0x20
ja 0x417e5e
cmp dword [esp + 0x34], eax
jbe 0x417ec0
cmp dword [esp + 0x120], eax
je 0x417e5e
mov edx, edi
mov ecx, eax
shr edx, 3
sub ecx, edx
cmp dword [esp + 0x120], ecx
jbe 0x417294
sub eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x120]
mov edx, eax
shl edx, 3
mov dword [esp + 0xd0], ecx
sub edi, edx
mov edx, dword [ecx]
mov dword [esp + 0xc8], edx
lea eax, [ebp + edi]
mov esi, edx
movzx ebx, word [esp + 0x4c]
mov ecx, eax
neg ecx
shr esi, cl
mov ecx, dword [ebp*4 + 0x4282c0]
and ecx, esi
mov esi, dword [esp + 0x68]
add ecx, ebx
mov ebx, edx
add eax, esi
mov dword [esp + 0xdc], ecx
mov ecx, eax
mov dword [esp + 0xcc], eax
neg ecx
shr ebx, cl
movzx ecx, word [esp + 0x54]
and ebx, dword [esi*4 + 0x4282c0]
add ecx, ebx
mov dword [esp + 0xec], ecx
cmp eax, 0x20
ja 0x41734c
mov ecx, dword [esp + 0xd0]
cmp dword [esp + 0x34], ecx
jbe 0x417ea0
cmp dword [esp + 0x120], ecx
je 0x41734c
mov edx, eax
mov ebx, ecx
shr edx, 3
sub ebx, edx
cmp dword [esp + 0x120], ebx
jbe 0x417337
sub ecx, dword [esp + 0x120]
mov ebx, dword [esp + 0x120]
mov edx, ecx
shl edx, 3
mov dword [esp + 0xd0], ebx
sub eax, edx
mov edx, dword [ebx]
mov dword [esp + 0xc8], edx
mov esi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x90]
lea edi, [esi + eax]
movzx eax, word [esp + 0x58]
mov ecx, edi
mov dword [esp + 0xcc], edi
neg ecx
shr edx, cl
and edx, dword [esi*4 + 0x4282c0]
add eax, edx
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x28]
lea esi, [ebp + eax]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x4c], esi
mov eax, dword [eax + 0x75ec]
cmp esi, eax
jbe 0x416e63
mov dword [esp + 0x3c], edi
mov ebx, dword [esp + 0x128]
test ebx, ebx
jle 0x417c63
sub eax, ebp
mov ebx, eax
je 0x4173e2
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x2c], 0xffffffba
sub eax, edi
cmp ebx, eax
ja 0x417c09
mov eax, edi
mov ecx, ebx
mov edx, ebp
add edi, ebx
call fcn.00412380
sub dword [esp + 0x28], ebx
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
lea eax, [edi + 0x75f4]
lea ecx, [edi + 0x175f4]
mov dword [edi + 0x75f0], 0
mov edi, dword [esp + 0x24]
add esi, ebx
mov dword [esp + 0x40], ecx
mov ebp, edi
mov ecx, edi
mov dword [esp + 0x2c], esi
add ecx, esi
add ebp, ebx
lea esi, [edx - 0x20]
mov dword [esp + 0x90], eax
mov dword [esp + 0x80], esi
lea esi, [eax + ebx]
mov ebx, ebp
sub ebx, dword [esp + 0x30]
mov dword [esp + 0x54], ecx
cmp dword [esp + 0x40], esi
jb 0x418bfa
mov eax, dword [esp + 0x80]
cmp ecx, eax
ja 0x418bfa
mov eax, dword [esp + 0x2c]
sub edx, edi
mov ecx, edi
add eax, 0x20
cmp edx, eax
jb 0x418bfa
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x28], 0x10
mov edx, dword [eax + 0x75f8]
mov edi, dword [eax + 0x75f4]
mov dword [esp + 0x4c], edx
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], edx
mov edx, dword [eax + 0x75fc]
mov eax, dword [eax + 0x7600]
mov dword [ecx], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], eax
mov dword [ecx + 4], edi
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
ja 0x418ce6
mov eax, ebp
mov dword [esp + 0x90], esi
sub eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x30]
jae 0x41751c
mov eax, ebp
sub eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x30]
jb 0x417c63
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x38]
mov eax, ebx
sub eax, dword [esp + 0x44]
add eax, edi
lea edx, [eax + esi]
cmp edi, edx
jae 0x418cd1
mov edi, dword [esp + 0x44]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov esi, edi
sub esi, ebx
mov ebx, edi
mov dword [esp + 8], esi
add ebp, esi
call sub.cygwin1.dll_memmove
sub dword [esp + 0x38], esi
cmp dword [esp + 0x30], 0xf
jbe 0x418e03
mov esi, dword [ebx]
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
cmp dword [esp + 0x38], 0x10
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], eax
mov dword [ebp], esi
mov dword [ebp + 4], ecx
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], eax
jle 0x4175c5
lea eax, [ebp + 0x10]
mov ebp, dword [esp + 0x54]
lea edx, [ebx + 0x10]
lea esi, [esi]
nop
mov edi, dword [edx]
mov esi, dword [edx + 4]
add eax, 0x20
add edx, 0x20
mov ebx, dword [edx - 0x18]
mov ecx, dword [edx - 0x14]
mov dword [eax - 0x20], edi
mov dword [eax - 0x1c], esi
mov dword [eax - 0x18], ebx
mov dword [eax - 0x14], ecx
mov edi, dword [edx - 0x10]
mov esi, dword [edx - 0xc]
mov ebx, dword [edx - 8]
mov ecx, dword [edx - 4]
mov dword [esp + 0xb8], edi
mov dword [eax - 0x10], edi
mov dword [eax - 0xc], esi
mov dword [eax - 8], ebx
mov dword [eax - 4], ecx
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ecx
cmp ebp, eax
ja 0x417570
mov eax, dword [esp + 0x2c]
cmp eax, 0xffffff88
ja 0x417c09
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x128]
sub eax, 1
mov dword [esp + 0x84], eax
je 0x418004
cmp dword [esp + 0x3c], 0x20
ja 0x417654
mov eax, dword [esp + 0xd0]
cmp dword [esp + 0x34], eax
jbe 0x418dd5
cmp dword [esp + 0x120], eax
je 0x417654
mov edx, dword [esp + 0x3c]
mov ecx, eax
shr edx, 3
sub ecx, edx
cmp dword [esp + 0x120], ecx
jbe 0x417632
sub eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x120]
mov edx, eax
shl edx, 3
sub dword [esp + 0x3c], edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xcc], eax
mov eax, dword [ecx]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xdc]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x58], eax
movzx eax, byte [esp + 0x12c]
and eax, 1
mov byte [esp + 0x88], al
lea esi, [esi]
nop
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x70]
lea ebx, [eax + edi*8]
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x74]
movzx esi, word [ebx]
lea ecx, [eax + edi*8]
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x58]
mov word [esp + 0x4c], si
movzx esi, word [ecx]
lea edx, [eax + edi*8]
mov eax, dword [ecx + 4]
mov word [esp + 0x54], si
movzx esi, word [edx]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 4]
mov word [esp + 0x58], si
movzx esi, byte [ebx + 3]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x28], eax
movzx eax, byte [ebx + 2]
movzx ebx, byte [ecx + 3]
mov byte [esp + 0x2c], al
movzx eax, byte [ecx + 2]
mov dword [esp + 0x68], ebx
movzx ebx, byte [edx + 3]
mov byte [esp + 0x3c], al
movzx eax, byte [edx + 2]
mov dword [esp + 0x6c], ebx
cmp al, 1
jbe 0x418550
mov ebx, dword [esp + 0xc8]
mov ecx, ebp
movzx edx, al
mov dword [esp + 0x7c], ebx
shl ebx, cl
cmp al, 0x18
jbe 0x418588
cmp byte [esp + 0x88], 0
je 0x418588
mov edi, 0x20
sub edi, ebp
cmp edi, edx
mov eax, edi
mov edi, edx
cmova eax, edx
mov ecx, eax
sub edi, eax
add ebp, eax
neg ecx
mov dword [esp + 0x8c], edi
shr ebx, cl
mov ecx, edi
mov dword [esp + 0xcc], ebp
shl ebx, cl
add ebx, dword [esp + 0x28]
mov dword [esp + 0x28], ebx
cmp ebp, 0x20
ja 0x4177cb
mov ebx, dword [esp + 0xd0]
cmp dword [esp + 0x34], ebx
jbe 0x418a69
cmp dword [esp + 0x120], ebx
je 0x4177cb
mov ecx, ebp
mov edi, ebx
shr ecx, 3
sub edi, ecx
cmp dword [esp + 0x120], edi
jbe 0x4177ab
sub ebx, dword [esp + 0x120]
mov edi, dword [esp + 0x120]
mov ecx, ebx
mov dword [esp + 0xd0], edi
shl ecx, 3
mov edi, dword [edi]
sub ebp, ecx
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x7c], edi
mov dword [esp + 0xc8], edi
mov ecx, dword [esp + 0x8c]
test ecx, ecx
jne 0x418a42
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x28]
xor edx, edx
cmp byte [esp + 0x3c], 0
mov dword [esp + 0xf4], eax
jne 0x418680
movzx ebx, byte [esp + 0x2c]
add edx, ebx
cmp edx, 0x13
jg 0x418610
cmp byte [esp + 0x2c], 0
jne 0x4186c0
mov eax, dword [esp + 0xd0]
cmp ebp, 0x20
ja 0x4186b0
cmp dword [esp + 0x34], eax
jbe 0x418710
cmp dword [esp + 0x120], eax
je 0x4186b0
mov edx, ebp
mov ecx, eax
shr edx, 3
sub ecx, edx
cmp dword [esp + 0x120], ecx
jbe 0x417872
sub eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x120]
mov edx, eax
shl edx, 3
mov dword [esp + 0xd0], ecx
sub ebp, edx
mov edx, dword [ecx]
mov dword [esp + 0xc8], edx
lea eax, [esi + ebp]
mov ebx, edx
mov ecx, eax
neg ecx
shr ebx, cl
mov ecx, dword [esi*4 + 0x4282c0]
and ecx, ebx
movzx ebx, word [esp + 0x4c]
lea esi, [ecx + ebx]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x4c], esi
add eax, ebx
mov dword [esp + 0xdc], esi
mov esi, edx
mov ecx, eax
mov dword [esp + 0xcc], eax
neg ecx
shr esi, cl
mov ecx, dword [ebx*4 + 0x4282c0]
movzx ebx, word [esp + 0x54]
and ecx, esi
add ecx, ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0xec], ecx
cmp eax, 0x20
ja 0x417934
mov ecx, dword [esp + 0xd0]
cmp dword [esp + 0x34], ecx
jbe 0x4186e8
cmp dword [esp + 0x120], ecx
je 0x417934
mov edx, eax
mov ebx, ecx
shr edx, 3
sub ebx, edx
cmp dword [esp + 0x120], ebx
jbe 0x41791f
sub ecx, dword [esp + 0x120]
mov ebx, dword [esp + 0x120]
mov edx, ecx
shl edx, 3
mov dword [esp + 0xd0], ebx
sub eax, edx
mov edx, dword [ebx]
mov dword [esp + 0xc8], edx
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x30]
lea ebp, [esi + eax]
movzx eax, word [esp + 0x58]
mov ecx, ebp
mov dword [esp + 0xcc], ebp
neg ecx
shr edx, cl
and edx, dword [esi*4 + 0x4282c0]
mov esi, dword [esp + 0x24]
add eax, edx
mov dword [esp + 0x58], eax
mov ecx, esi
lea ebx, [esi + edi]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x38]
lea edx, [edi + eax]
mov eax, dword [esp + 0x90]
add ecx, edx
mov dword [esp + 0x2c], edx
lea edx, [eax + edi]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x68], edx
mov edi, edx
mov edx, ebx
sub edx, dword [esp + 0x28]
mov dword [esp + 0x3c], edx
cmp dword [esp + 0x40], edi
jb 0x418760
cmp dword [esp + 0x80], ecx
jb 0x418760
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
sub ecx, esi
add edx, 0x20
cmp ecx, edx
jb 0x418760
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov edi, dword [eax]
cmp dword [esp + 0x30], 0x10
mov dword [esp + 0x6c], edx
mov dword [esp + 0xb8], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0xbc], edx
mov edx, dword [eax + 0xc]
mov dword [esi], edi
mov edi, dword [esp + 0x6c]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
mov dword [esi + 4], edi
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
ja 0x4188e2
mov eax, dword [esp + 0x68]
mov dword [esp + 0x90], eax
mov eax, ebx
sub eax, dword [esp + 0x44]
cmp dword [esp + 0x28], eax
jbe 0x417a74
mov eax, ebx
sub eax, dword [esp + 0x60]
cmp dword [esp + 0x28], eax
ja 0x417c63
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
sub eax, dword [esp + 0x44]
add eax, edi
lea edx, [eax + esi]
cmp edi, edx
jae 0x418810
mov edi, dword [esp + 0x44]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov esi, edi
sub esi, dword [esp + 0x3c]
mov dword [esp + 8], esi
add ebx, esi
call sub.cygwin1.dll_memmove
sub dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
cmp dword [esp + 0x28], 0xf
jbe 0x4189b7
mov edi, dword [esp + 0x3c]
cmp dword [esp + 0x38], 0x10
mov esi, dword [edi]
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], eax
mov dword [ebx], esi
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], eax
jle 0x417b29
mov dword [esp + 0x28], ebp
mov eax, edi
mov ebp, dword [esp + 0x7c]
add ebx, 0x10
add eax, 0x10
lea esi, [esi]
mov edi, dword [eax]
mov esi, dword [eax + 4]
add ebx, 0x20
add eax, 0x20
mov ecx, dword [eax - 0x18]
mov edx, dword [eax - 0x14]
mov dword [ebx - 0x20], edi
mov dword [ebx - 0x1c], esi
mov dword [ebx - 0x18], ecx
mov dword [ebx - 0x14], edx
mov edi, dword [eax - 0x10]
mov esi, dword [eax - 0xc]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [esp + 0xb8], edi
mov dword [ebx - 0x10], edi
mov dword [ebx - 0xc], esi
mov dword [ebx - 8], ecx
mov dword [ebx - 4], edx
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
cmp ebp, ebx
ja 0x417ad0
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
cmp eax, 0xffffff88
ja 0x417c09
add dword [esp + 0x24], eax
sub dword [esp + 0x84], 1
je 0x4188a6
cmp ebp, 0x20
ja 0x417690
mov eax, dword [esp + 0xd0]
cmp dword [esp + 0x34], eax
jbe 0x418730
cmp dword [esp + 0x120], eax
je 0x417690
mov edx, ebp
mov ecx, eax
shr edx, 3
sub ecx, edx
cmp dword [esp + 0x120], ecx
jbe 0x417b91
sub eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x120]
mov edx, eax
mov eax, dword [ecx]
shl edx, 3
mov dword [esp + 0xd0], ecx
sub ebp, edx
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xc8], eax
jmp 0x417690
mov dword [esp + 0x24], edx
mov eax, edi
cmp dword [eax + 0x75f0], 2
je 0x417c80
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
sub ebx, ebp
sub eax, edi
cmp ebx, eax
ja 0x417f88
test edi, edi
je 0x417bfd
mov dword [esp], edi
add edi, ebx
mov dword [esp + 8], ebx
mov dword [esp + 4], ebp
call sub.cygwin1.dll_memcpy
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x5c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
add esp, 0x10c
pop ebx
pop esi
pop edi
pop ebp
ret
movzx ebx, byte [edi]
mov dword [esp + 0xd0], edi
mov dword [esp + 0xc8], ebx
cmp eax, 2
je 0x417c44
cmp eax, 3
jne 0x417c5b
movzx ecx, byte [edi + 2]
shl ecx, 0x10
add ebx, ecx
mov edi, dword [esp + 0x120]
movzx ecx, byte [edi + 1]
shl ecx, 8
add ecx, ebx
mov dword [esp + 0xc8], ecx
test dl, dl
jne 0x417ce0
mov dword [esp + 0x2c], 0xffffffec
mov eax, dword [esp + 0x2c]
add esp, 0x10c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x24]
sub ebx, ebp
cmp ebx, eax
ja 0x417f88
mov edi, dword [esp + 0x24]
test edi, edi
je 0x417cb6
mov dword [esp + 8], ebx
mov dword [esp + 4], ebp
mov dword [esp], edi
call sub.cygwin1.dll_memmove
mov eax, edi
add eax, ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x50]
lea ebp, [eax + 0x75f4]
lea edi, [eax + 0x175f4]
mov dword [eax + 0x75f0], 0
mov dword [esp + 0x90], ebp
mov dword [esp + 0x40], edi
jmp 0x417bcb
mov ecx, 5
bsr edx, edx
sub ecx, eax
lea eax, [ecx*8]
sub eax, edx
mov dword [esp + 0xcc], eax
jmp 0x416b3b
mov ebx, dword [esp + 0x28]
xor edx, edx
test ebx, ebx
sete dl
cmp al, 1
je 0x41884b
mov eax, dword [esp + edx*4 + 0xf4]
cmp ebx, 1
mov dword [esp + 0x30], eax
mov eax, 8
sbb eax, 0xffffffff
mov eax, dword [esp + eax*4 + 0xd4]
jmp 0x417211
add edi, edx
neg edx
mov ecx, edx
mov dword [esp + 0xcc], edi
shr ebx, cl
add ebx, dword [esp + 0x30]
mov dword [esp + 0x30], ebx
cmp edi, 0x20
ja 0x4171fc
mov eax, dword [esp + 0xd0]
cmp dword [esp + 0x34], eax
jbe 0x418070
cmp dword [esp + 0x120], eax
je 0x4171fc
mov edx, edi
mov ecx, eax
shr edx, 3
sub ecx, edx
cmp dword [esp + 0x120], ecx
jbe 0x417d98
sub eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x120]
mov edx, eax
mov eax, dword [ecx]
shl edx, 3
mov dword [esp + 0xd0], ecx
sub edi, edx
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], eax
jmp 0x4171fc
cmp edi, 0x20
ja 0x418360
mov eax, dword [esp + 0xd0]
cmp dword [esp + 0x34], eax
jbe 0x418218
cmp dword [esp + 0x120], eax
je 0x418800
mov edx, edi
mov ecx, eax
shr edx, 3
sub ecx, edx
cmp dword [esp + 0x120], ecx
jbe 0x417e09
sub eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x120]
mov edx, eax
shl edx, 3
mov eax, dword [ecx]
mov dword [esp + 0xd0], ecx
sub edi, edx
cmp byte [esp + 0x2c], 0
mov dword [esp + 0xcc], edi
mov dword [esp + 0xc8], eax
je 0x41724b
mov eax, dword [esp + 0xc8]
mov ecx, edi
add edi, ebx
shl eax, cl
mov ecx, ebx
mov dword [esp + 0xcc], edi
neg ecx
shr eax, cl
add dword [esp + 0x28], eax
mov eax, dword [esp + 0xd0]
cmp edi, 0x20
jbe 0x41725b
mov edx, dword [esp + 0xc8]
jmp 0x4172a9
movzx edx, byte [esp + 0x3c]
mov eax, dword [esp + 0xc8]
mov ecx, edi
shl eax, cl
mov ecx, edx
add edi, edx
neg ecx
mov dword [esp + 0xcc], edi
shr eax, cl
add dword [esp + 0x38], eax
jmp 0x417230
mov edx, eax
and eax, 7
shr edx, 3
sub ecx, edx
mov edx, dword [ecx]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xc8], edx
jmp 0x41734c
mov edx, edi
and edi, 7
shr edx, 3
sub eax, edx
mov edx, dword [eax]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc8], edx
jmp 0x4172a9
mov edx, edi
and edi, 7
shr edx, 3
mov dword [esp + 0xcc], edi
sub eax, edx
mov dword [esp + 0xd0], eax
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
jmp 0x4170b5
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x94], edx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x98], eax
mov dword [esp + 0x14], ebx
lea ebx, [esp + 0x90]
mov dword [esp + 0x9c], ecx
mov dword [esp], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
call fcn.004125a0
mov dword [esp + 0x2c], eax
jmp 0x417039
mov dword [esp + 0x2c], 0xffffffba
mov eax, dword [esp + 0x2c]
add esp, 0x10c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], esi
mov dword [esp], eax
call sub.cygwin1.dll_memmove
jmp 0x417039
mov edi, dword [esp + 0x28]
xor ebx, ebx
mov eax, dword [esp + 0xcc]
test edi, edi
sete bl
cmp dl, 1
je 0x418c7a
mov ebx, dword [esp + ebx*4 + 0xf4]
cmp edi, 1
mov edx, 8
sbb edx, 0xffffffff
mov dword [esp + 0x30], ebx
mov esi, dword [esp + edx*4 + 0xd4]
jmp 0x416ce0
mov dword [esp + 0x3c], edi
cmp dword [esp + 0x3c], 0x20
ja 0x418034
mov eax, dword [esp + 0xd0]
cmp dword [esp + 0x34], eax
jbe 0x417c63
cmp dword [esp + 0x120], eax
jne 0x417c63
cmp dword [esp + 0x3c], 0x20
jne 0x417c63
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0xf4]
mov ebp, dword [esp + 0x90]
mov dword [edi + 0x682c], eax
mov eax, dword [esp + 0xf8]
mov dword [edi + 0x6830], eax
mov eax, dword [esp + 0xfc]
mov dword [edi + 0x6834], eax
mov eax, edi
jmp 0x417bbe
mov edx, edi
and edi, 7
shr edx, 3
mov dword [esp + 0xcc], edi
sub eax, edx
mov dword [esp + 0xd0], eax
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
jmp 0x4171fc
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc4], eax
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc0], edx
sub eax, 0x10
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], edx
cmp eax, 0x10
jle 0x416f02
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x3c]
lea edx, [esi + 0x20]
lea eax, [ebp + 0x20]
lea esi, [esi]
mov ebp, dword [eax]
mov edi, dword [eax + 4]
add edx, 0x20
add eax, 0x20
mov esi, dword [eax - 0x18]
mov ecx, dword [eax - 0x14]
mov dword [edx - 0x20], ebp
mov dword [edx - 0x1c], edi
mov dword [edx - 0x18], esi
mov dword [edx - 0x14], ecx
mov ebp, dword [eax - 0x10]
mov edi, dword [eax - 0xc]
mov esi, dword [eax - 8]
mov ecx, dword [eax - 4]
mov dword [esp + 0xb8], ebp
mov dword [edx - 0x10], ebp
mov dword [edx - 0xc], edi
mov dword [edx - 8], esi
mov dword [edx - 4], ecx
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], ecx
cmp ebx, edx
ja 0x4180f8
mov dword [esp + 0x3c], ebx
mov edi, dword [esp + 0x28]
jmp 0x416f02
cmp eax, 0x20
ja 0x418a93
mov ecx, dword [esp + 0xd0]
cmp dword [esp + 0x34], ecx
jbe 0x41851f
cmp dword [esp + 0x120], ecx
je 0x4181f8
mov ebx, eax
mov edx, ecx
shr ebx, 3
sub edx, ebx
cmp dword [esp + 0x120], edx
jbe 0x4181a5
mov edx, dword [esp + 0x120]
mov ebx, ecx
sub ebx, dword [esp + 0x120]
mov dword [esp + 0xd0], edx
lea ecx, [ebx*8]
mov edx, dword [edx]
sub eax, ecx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc8], edx
jmp 0x416d0f
movzx ebx, byte [esp + 0x3c]
mov edx, dword [esp + 0xc8]
mov ecx, eax
shl edx, cl
mov ecx, ebx
add eax, ebx
neg ecx
mov dword [esp + 0xcc], eax
shr edx, cl
add dword [esp + 0x38], edx
jmp 0x416cff
cmp byte [esp + 0x24], 0
jne 0x4182f0
lea esi, [esi]
nop
mov ebx, dword [esp + 0xc8]
jmp 0x416d6c
mov edx, edi
and edi, 7
shr edx, 3
mov dword [esp + 0xcc], edi
sub eax, edx
cmp byte [esp + 0x2c], 0
mov edx, dword [eax]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc8], edx
je 0x41725b
mov eax, edx
jmp 0x417e37
mov esi, dword [esp + 0x30]
cmp esi, 7
ja 0x4184cd
mov ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0x3c]
movzx eax, byte [ebx]
mov byte [ecx], al
movzx eax, byte [ebx + 1]
mov byte [ecx + 1], al
movzx eax, byte [ebx + 2]
mov byte [ecx + 2], al
movzx eax, byte [ebx + 3]
mov byte [ecx + 3], al
mov eax, dword [esi*4 + 0x427a80]
add eax, ebx
mov edx, dword [eax]
sub eax, dword [esi*4 + str._b_b_b_a_b_t_n_v]
mov dword [esp + 0x54], eax
mov dword [ecx + 4], edx
cmp dword [esp + 0x38], 8
jbe 0x417039
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x54]
mov eax, ebx
sub eax, esi
cmp eax, 0xf
jg 0x418b4a
mov eax, esi
mov edx, dword [esp + 0x68]
add ebx, 8
mov ecx, edi
add eax, 8
lea esi, [esi]
lea esi, [esi]
mov esi, dword [eax]
mov edi, dword [eax + 4]
add ebx, 8
add eax, 8
mov dword [ebx - 8], esi
mov dword [ebx - 4], edi
cmp edx, ebx
ja 0x4182d0
mov edi, ecx
jmp 0x417039
mov edx, dword [esp + 0xc8]
mov ecx, eax
add eax, esi
shl edx, cl
mov ecx, esi
mov dword [esp + 0xcc], eax
neg ecx
shr edx, cl
add dword [esp + 0x28], edx
jmp 0x416d1a
mov ecx, eax
and eax, 7
shr ecx, 3
sub edx, ecx
mov ebx, dword [edx]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xc8], ebx
jmp 0x416e05
mov edx, eax
and eax, 7
shr edx, 3
sub ecx, edx
mov ebx, dword [ecx]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xc8], ebx
jmp 0x416d6c
mov eax, dword [esp + 0xc8]
cmp byte [esp + 0x2c], 0
mov edx, eax
je 0x4172a9
jmp 0x417e37
mov ebx, dword [esp + 0x7c]
mov ecx, edi
sub eax, edx
add edi, dword [esp + 0x84]
mov dword [esp + 0xcc], edi
shl ebx, cl
mov ecx, eax
mov eax, ebx
shr eax, cl
add dword [esp + 0x30], eax
jmp 0x4171fc
mov eax, 0x20
mov edx, edi
sub eax, ecx
cmp eax, edi
mov edi, eax
mov eax, edx
cmova edi, edx
sub eax, edi
mov dword [esp + 0x8c], edi
mov edx, eax
mov dword [esp + 0x88], eax
lea eax, [edi + ecx]
neg edi
mov ecx, edi
mov dword [esp + 0xcc], eax
shr ebx, cl
mov ecx, edx
shl ebx, cl
add ebx, dword [esp + 0x30]
mov dword [esp + 0x30], ebx
cmp eax, 0x20
ja 0x418458
mov edx, dword [esp + 0xd0]
cmp dword [esp + 0x34], edx
jbe 0x418b07
cmp dword [esp + 0x120], edx
je 0x418458
mov ebx, eax
mov ecx, edx
shr ebx, 3
sub ecx, ebx
cmp dword [esp + 0x120], ecx
jbe 0x418431
mov ecx, dword [esp + 0x120]
mov ebx, edx
sub ebx, dword [esp + 0x120]
mov edi, dword [ecx]
lea edx, [ebx*8]
mov dword [esp + 0xd0], ecx
sub eax, edx
mov dword [esp + 0xcc], eax
mov dword [esp + 0x84], edi
mov dword [esp + 0xc8], edi
mov edi, dword [esp + 0x88]
test edi, edi
je 0x416cd5
mov edx, dword [esp + 0x84]
mov ecx, eax
add eax, dword [esp + 0x88]
mov dword [esp + 0xcc], eax
shl edx, cl
mov ecx, dword [esp + 0x8c]
sub ecx, dword [esp + 0x80]
shr edx, cl
add dword [esp + 0x30], edx
jmp 0x416cd5
mov ecx, edx
mov ebx, dword [esp + 0x120]
sub ecx, dword [esp + 0x120]
jmp 0x416df0
sub ecx, dword [esp + 0x120]
mov ebx, dword [esp + 0x120]
mov edx, ecx
jmp 0x416d57
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x3c]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp 0x418298
sub ebx, dword [esp + 0x120]
mov esi, dword [esp + 0x120]
mov ecx, ebx
jmp 0x4171cd
mov ecx, eax
and eax, 7
shr ecx, 3
mov dword [esp + 0xcc], eax
sub edx, ecx
mov dword [esp + 0xd0], edx
mov edx, dword [edx]
mov dword [esp + 0xc8], edx
jmp 0x416cd5
mov edx, eax
and eax, 7
shr edx, 3
mov dword [esp + 0xcc], eax
sub ecx, edx
cmp byte [esp + 0x24], 0
mov edx, dword [ecx]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xc8], edx
je 0x416d2a
jmp 0x4182f7
mov edi, dword [esp + 0x30]
xor edx, edx
test edi, edi
sete dl
cmp al, 1
je 0x418aac
mov eax, dword [esp + edx*4 + 0xf4]
cmp edi, 1
mov dword [esp + 0x28], eax
mov eax, 8
sbb eax, 0xffffffff
mov eax, dword [esp + eax*4 + 0xd4]
jmp 0x4177ef
mov ecx, edx
add ebp, edx
neg ecx
mov dword [esp + 0xcc], ebp
shr ebx, cl
add ebx, dword [esp + 0x28]
mov dword [esp + 0x28], ebx
cmp ebp, 0x20
ja 0x4177da
mov eax, dword [esp + 0xd0]
cmp dword [esp + 0x34], eax
jbe 0x418825
cmp dword [esp + 0x120], eax
je 0x4177da
mov edx, ebp
mov ecx, eax
shr edx, 3
sub ecx, edx
cmp dword [esp + 0x120], ecx
jbe 0x4185e8
sub eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x120]
mov edx, eax
mov eax, dword [ecx]
shl edx, 3
mov dword [esp + 0xd0], ecx
sub ebp, edx
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xc8], eax
jmp 0x4177da
cmp ebp, 0x20
ja 0x41899e
mov eax, dword [esp + 0xd0]
cmp dword [esp + 0x34], eax
jbe 0x4188af
cmp dword [esp + 0x120], eax
je 0x4186a8
mov edx, ebp
mov ecx, eax
shr edx, 3
sub ecx, edx
cmp dword [esp + 0x120], ecx
jbe 0x418655
sub eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x120]
mov edx, eax
mov eax, dword [ecx]
shl edx, 3
mov dword [esp + 0xd0], ecx
sub ebp, edx
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xc8], eax
jmp 0x41781e
movzx edx, byte [esp + 0x3c]
mov eax, dword [esp + 0xc8]
mov ecx, ebp
shl eax, cl
mov ecx, edx
add ebp, edx
neg ecx
mov dword [esp + 0xcc], ebp
shr eax, cl
add dword [esp + 0x38], eax
jmp 0x41780e
cmp byte [esp + 0x2c], 0
jne 0x4186c0
nop
mov edx, dword [esp + 0xc8]
jmp 0x417887
mov eax, dword [esp + 0xc8]
mov ecx, ebp
add ebp, ebx
shl eax, cl
mov ecx, ebx
mov dword [esp + 0xcc], ebp
neg ecx
shr eax, cl
add dword [esp + 0x30], eax
jmp 0x417829
mov edx, eax
and eax, 7
shr edx, 3
sub ecx, edx
mov edx, dword [ecx]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xc8], edx
jmp 0x417934
mov edx, ebp
and ebp, 7
shr edx, 3
sub eax, edx
mov edx, dword [eax]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc8], edx
jmp 0x417887
mov edx, ebp
and ebp, 7
shr edx, 3
mov dword [esp + 0xcc], ebp
sub eax, edx
mov dword [esp + 0xd0], eax
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
jmp 0x417690
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xac], ebx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xb0], edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xb4], esi
mov dword [esp + 0x10], eax
lea eax, [esp + 0x90]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.004126c0
mov dword [esp + 0x2c], eax
jmp 0x417b29
mov ecx, edi
and edi, 7
shr ecx, 3
mov dword [esp + 0xcc], edi
sub ebx, ecx
mov esi, dword [ebx]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x7c], esi
mov dword [esp + 0xc8], esi
jmp 0x4171ed
cmp byte [esp + 0x2c], 0
je 0x417e5e
jmp 0x417e30
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.cygwin1.dll_memmove
jmp 0x417b29
mov edx, ebp
and ebp, 7
shr edx, 3
mov dword [esp + 0xcc], ebp
sub eax, edx
mov dword [esp + 0xd0], eax
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
jmp 0x4177da
mov eax, dword [esp + 0xc8]
mov ecx, edi
add edx, dword [esp + 0x30]
add edi, 1
mov dword [esp + 0xcc], edi
shl eax, cl
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0xf4]
cmp edx, 3
je 0x418b34
mov ecx, dword [esp + edx*4 + 0xf4]
cmp ecx, 1
adc ecx, 0
mov dword [esp + 0x30], ecx
cmp edx, 1
je 0x417211
mov edx, dword [esp + 0xf8]
mov dword [esp + 0xfc], edx
jmp 0x417211
mov dword [esp + 0x3c], ebp
jmp 0x418004
mov edx, ebp
and ebp, 7
shr edx, 3
mov dword [esp + 0xcc], ebp
sub eax, edx
cmp byte [esp + 0x2c], 0
mov edx, dword [eax]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc8], edx
je 0x417839
mov eax, edx
jmp 0x4186c7
mov edi, dword [eax + 0x10]
mov edx, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0xb8], edi
mov edi, dword [eax + 0x1c]
mov dword [esp + 0xbc], esi
mov dword [esp + 0x6c], edi
mov dword [esp + 0xc4], edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0xc0], ecx
mov dword [edi + 0x10], edx
mov edx, dword [esp + 0x30]
mov dword [edi + 0x14], esi
mov esi, dword [esp + 0x6c]
sub edx, 0x10
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], esi
cmp edx, 0x10
jle 0x417a0c
mov dword [esp + 0x30], ebp
lea edx, [edi + 0x20]
add eax, 0x20
nop
mov ebp, dword [eax]
mov edi, dword [eax + 4]
add edx, 0x20
add eax, 0x20
mov esi, dword [eax - 0x18]
mov ecx, dword [eax - 0x14]
mov dword [edx - 0x20], ebp
mov dword [edx - 0x1c], edi
mov dword [edx - 0x18], esi
mov dword [edx - 0x14], ecx
mov ebp, dword [eax - 0x10]
mov edi, dword [eax - 0xc]
mov esi, dword [eax - 8]
mov ecx, dword [eax - 4]
mov dword [esp + 0xb8], ebp
mov dword [edx - 0x10], ebp
mov dword [edx - 0xc], edi
mov dword [edx - 8], esi
mov dword [edx - 4], ecx
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], ecx
cmp ebx, edx
ja 0x418940
mov ebp, dword [esp + 0x30]
jmp 0x417a0c
mov eax, dword [esp + 0xc8]
cmp byte [esp + 0x2c], 0
mov edx, eax
je 0x417887
jmp 0x4186c7
mov esi, dword [esp + 0x28]
cmp esi, 7
ja 0x418c67
mov edi, dword [esp + 0x3c]
movzx eax, byte [edi]
mov byte [ebx], al
movzx eax, byte [edi + 1]
mov byte [ebx + 1], al
movzx eax, byte [edi + 2]
mov byte [ebx + 2], al
movzx eax, byte [edi + 3]
mov byte [ebx + 3], al
mov eax, dword [esi*4 + 0x427a80]
add eax, edi
mov edx, dword [eax]
sub eax, dword [esi*4 + str._b_b_b_a_b_t_n_v]
mov dword [esp + 0x3c], eax
mov dword [ebx + 4], edx
cmp dword [esp + 0x38], 8
jbe 0x417b29
mov edi, dword [esp + 0x3c]
mov eax, ebx
sub eax, edi
cmp eax, 0xf
jg 0x418e7e
mov eax, edi
mov edx, dword [esp + 0x7c]
add ebx, 8
add eax, 8
lea esi, [esi]
nop
mov esi, dword [eax]
mov edi, dword [eax + 4]
add ebx, 8
add eax, 8
mov dword [ebx - 8], esi
mov dword [ebx - 4], edi
cmp edx, ebx
ja 0x418a28
jmp 0x417b29
mov ebx, dword [esp + 0x7c]
mov ecx, ebp
sub eax, edx
add ebp, dword [esp + 0x8c]
mov dword [esp + 0xcc], ebp
shl ebx, cl
mov ecx, eax
mov eax, ebx
shr eax, cl
add dword [esp + 0x28], eax
jmp 0x4177da
mov ecx, ebp
and ebp, 7
shr ecx, 3
mov dword [esp + 0xcc], ebp
sub ebx, ecx
mov edi, dword [ebx]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x7c], edi
mov dword [esp + 0xc8], edi
jmp 0x4177cb
mov edx, dword [esp + 0xc8]
cmp byte [esp + 0x24], 0
mov ebx, edx
je 0x416d6c
jmp 0x4182f7
mov eax, dword [esp + 0xc8]
mov ecx, ebp
add ebp, 1
mov dword [esp + 0xcc], ebp
shl eax, cl
shr eax, 0x1f
add eax, dword [esp + 0x28]
add edx, eax
mov eax, dword [esp + 0xf4]
cmp edx, 3
je 0x418dbf
mov ecx, dword [esp + edx*4 + 0xf4]
cmp ecx, 1
adc ecx, 0
mov dword [esp + 0x28], ecx
cmp edx, 1
je 0x4177ef
mov edx, dword [esp + 0xf8]
mov dword [esp + 0xfc], edx
jmp 0x4177ef
mov ecx, eax
and eax, 7
shr ecx, 3
mov dword [esp + 0xcc], eax
sub edx, ecx
mov edi, dword [edx]
mov dword [esp + 0xd0], edx
mov dword [esp + 0x84], edi
mov dword [esp + 0xc8], edi
jmp 0x418458
mov ecx, eax
xor edx, edx
sub ecx, 1
sete dl
lea esi, [edx + ecx]
mov dword [esp + 0x30], esi
jmp 0x418893
mov ebp, esi
mov esi, dword [esi + 8]
cmp dword [esp + 0x38], 0x18
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xc0], eax
mov dword [ebx + 0x10], eax
mov eax, ebx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc4], edx
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x14], edx
jle 0x417039
add eax, 0x18
mov dword [esp + 0x28], edi
mov ebx, eax
mov eax, ebp
mov ebp, dword [esp + 0x68]
add eax, 0x18
nop
mov edi, dword [eax]
mov esi, dword [eax + 4]
add ebx, 0x20
add eax, 0x20
mov ecx, dword [eax - 0x18]
mov edx, dword [eax - 0x14]
mov dword [ebx - 0x20], edi
mov dword [ebx - 0x1c], esi
mov dword [ebx - 0x18], ecx
mov dword [ebx - 0x14], edx
mov edi, dword [eax - 0x10]
mov esi, dword [eax - 0xc]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [esp + 0xb8], edi
mov dword [ebx - 0x10], edi
mov dword [ebx - 0xc], esi
mov dword [ebx - 8], ecx
mov dword [ebx - 4], edx
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
cmp ebp, ebx
ja 0x418ba0
jmp 0x417035
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], edi
mov edx, dword [esp + 0x48]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xa4], esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x90]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x24]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.004126c0
mov dword [esp + 0x2c], eax
jmp 0x4175c5
mov eax, dword [esp + 0x3c]
mov edx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebx + 4], edx
mov dword [ebx], eax
jmp 0x4189fb
mov edx, dword [esp + 0xc8]
mov ecx, eax
add eax, 1
mov dword [esp + 0xcc], eax
shl edx, cl
shr edx, 0x1f
add edx, dword [esp + 0x30]
add edx, ebx
cmp edx, 3
je 0x418f21
mov ecx, dword [esp + edx*4 + 0xf4]
cmp ecx, 1
adc ecx, 0
mov dword [esp + 0x30], ecx
cmp edx, 1
je 0x416ce0
jmp 0x416cd5
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], edi
jmp 0x41739e
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], ebp
call sub.cygwin1.dll_memmove
jmp 0x4175c5
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + 0x7608]
mov edi, dword [ecx + 0x7604]
mov edx, dword [ecx + 0x760c]
mov ecx, dword [ecx + 0x7610]
mov dword [esp + 0x4c], eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb8], edi
mov dword [eax + 0x10], edi
mov edi, dword [esp + 0x4c]
mov dword [eax + 0x18], edx
mov dword [eax + 0x14], edi
mov edi, eax
mov dword [eax + 0x1c], ecx
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc0], edx
sub eax, 0x10
mov dword [esp + 0xc4], ecx
cmp eax, 0x10
jle 0x4174be
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x28], esi
add edi, 0x20
mov dword [esp + 0x4c], ebx
lea eax, [ecx + 0x7614]
mov esi, dword [eax]
mov ebx, dword [eax + 4]
add edi, 0x20
add eax, 0x20
mov ecx, dword [eax - 0x18]
mov edx, dword [eax - 0x14]
mov dword [edi - 0x20], esi
mov dword [edi - 0x1c], ebx
mov dword [edi - 0x18], ecx
mov dword [edi - 0x14], edx
mov esi, dword [eax - 0x10]
mov ebx, dword [eax - 0xc]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [esp + 0xb8], esi
mov dword [edi - 0x10], esi
mov dword [edi - 0xc], ebx
mov dword [edi - 8], ecx
mov dword [edi - 4], edx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
cmp ebp, edi
ja 0x418d5d
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x4c]
jmp 0x4174be
mov ecx, eax
xor edx, edx
sub ecx, 1
sete dl
lea edi, [edx + ecx]
mov dword [esp + 0x28], edi
jmp 0x418af4
mov edi, dword [esp + 0x3c]
mov edx, edi
and edi, 7
shr edx, 3
mov dword [esp + 0x3c], edi
sub eax, edx
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], eax
mov eax, dword [eax]
mov dword [esp + 0xc8], eax
jmp 0x417654
mov edi, dword [esp + 0x30]
cmp edi, 7
ja 0x418f37
movzx eax, byte [ebx]
mov byte [ebp], al
movzx eax, byte [ebx + 1]
mov byte [ebp + 1], al
movzx eax, byte [ebx + 2]
mov byte [ebp + 2], al
movzx eax, byte [ebx + 3]
mov byte [ebp + 3], al
mov eax, dword [edi*4 + 0x427a80]
add eax, ebx
mov edx, dword [eax]
sub eax, dword [edi*4 + str._b_b_b_a_b_t_n_v]
mov ebx, eax
mov dword [ebp + 4], edx
cmp dword [esp + 0x38], 8
jbe 0x4175c5
mov eax, ebp
sub eax, ebx
cmp eax, 0xf
jg 0x418f47
mov esi, dword [esp + 0x54]
lea edx, [ebx + 8]
lea eax, [ebp + 8]
mov ecx, dword [edx]
mov ebx, dword [edx + 4]
add eax, 8
add edx, 8
mov dword [eax - 8], ecx
mov dword [eax - 4], ebx
cmp esi, eax
ja 0x418e64
jmp 0x4175c5
mov esi, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
cmp dword [esp + 0x38], 0x18
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ecx
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], ecx
jle 0x417b29
mov eax, edi
lea edi, [ebx + 0x18]
add eax, 0x18
mov esi, dword [eax]
mov ebx, dword [eax + 4]
add edi, 0x20
add eax, 0x20
mov ecx, dword [eax - 0x18]
mov edx, dword [eax - 0x14]
mov dword [edi - 0x20], esi
mov dword [edi - 0x1c], ebx
mov dword [edi - 0x18], ecx
mov dword [edi - 0x14], edx
mov esi, dword [eax - 0x10]
mov ebx, dword [eax - 0xc]
mov ecx, dword [eax - 8]
mov edx, dword [eax - 4]
mov dword [esp + 0xb8], esi
mov dword [edi - 0x10], esi
mov dword [edi - 0xc], ebx
mov dword [edi - 8], ecx
mov dword [edi - 4], edx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], edx
cmp dword [esp + 0x7c], edi
ja 0x418ec5
jmp 0x417b29
mov ecx, esi
xor edx, edx
sub ecx, 1
sete dl
lea edi, [edx + ecx]
mov dword [esp + 0x30], edi
jmp 0x416cd5
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [ebp], eax
mov dword [ebp + 4], edx
jmp 0x418e42
lea edi, [esp + 0xb8]
lea esi, [ebx + 8]
mov ecx, 4
cmp dword [esp + 0x38], 0x18
rep movsd dword es:[edi], dword [esi]
lea edi, [ebp + 8]
lea esi, [esp + 0xb8]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
jle 0x4175c5
lea edi, [ebp + 0x18]
lea esi, [ebx + 0x18]
mov ebx, dword [esi]
mov ecx, dword [esi + 4]
add edi, 0x20
add esi, 0x20
mov edx, dword [esi - 0x18]
mov eax, dword [esi - 0x14]
mov dword [edi - 0x20], ebx
mov dword [edi - 0x1c], ecx
mov dword [edi - 0x18], edx
mov dword [edi - 0x14], eax
mov ebx, dword [esi - 0x10]
mov ecx, dword [esi - 0xc]
mov edx, dword [esi - 8]
mov eax, dword [esi - 4]
mov dword [esp + 0xb8], ebx
mov dword [edi - 0x10], ebx
mov dword [edi - 0xc], ecx
mov dword [edi - 8], edx
mov dword [edi - 4], eax
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], eax
cmp dword [esp + 0x54], edi
ja 0x418f7a
jmp 0x4175c5