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

Disassembly:
sub esp, 0x654
push ebx
push ebp
push esi
mov esi, dword [0x510c40]
push edi
xor edi, edi
cmp esi, edi
jne 0x418ff3
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x654
ret
cmp byte [esi], 0
jne 0x419011
mov dword [esi + 0x400], edi
mov dword [0x510c40], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x654
ret
mov eax, dword [0x5a97e4]
mov ecx, dword [0x510c58]
mov edx, dword [eax]
xor ebx, ebx
cmp ecx, edx
mov dword [esp + 0x20], ebx
je 0x4190a0
cmp dword [0x4baacc], edi
jne 0x419098
cmp dword [0x50fc20], edi
jne 0x419098
call fcn.00421570
mov ebx, eax
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
add ebp, 3
mov edx, 0x9c40
sub edx, ebp
push edx
lea eax, [ebx + ebp]
push eax
push ebx
call fcn.0045b560
mov edi, ebx
sub edi, ebp
lea ecx, [ebp - 2]
mov edx, ecx
shr ecx, 2
add edi, 0x9c40
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov word [ebx + 0x9c3e], bp
mov esi, dword [0x510c40]
mov eax, dword [0x5a97e4]
mov ebx, dword [esp + 0x2c]
add esp, 0xc
xor edi, edi
mov ecx, dword [eax]
mov dword [0x510c58], ecx
cmp dword [0x50fc18], edi
jne 0x4190fe
cmp dword [0x4baacc], edi
jne 0x4190fe
mov ecx, dword [eax]
mov edx, dword [esp + 0x668]
sub ecx, edx
mov dword [eax], ecx
cmp dword [0x50fc18], edi
jne 0x4190e9
cmp dword [0x4baacc], edi
jne 0x4190e9
push edi
call fcn.004206f0
push edi
call fcn.004206f0
push edi
push 2
push 0xf7a4c8d8
call fcn.00409d90
add esp, 0x14
pop edi
pop esi
mov eax, 1
pop ebp
mov dword [0x50fc18], eax
pop ebx
add esp, 0x654
ret
push 0x7c
push esi
call fcn.0045b90b
add esp, 8
cmp eax, edi
je 0x419124
mov byte [eax], 0x20
mov eax, dword [0x510c40]
push 0x7c
push eax
call fcn.0045b90b
add esp, 8
cmp eax, edi
jne 0x41910d
mov ecx, dword [0x510c40]
push 0x8175
push ecx
call fcn.0045b90b
add esp, 8
test eax, eax
je 0x419146
mov dword [0x4bfaf8], 1
mov edx, dword [0x510c40]
push 0x8176
push edx
call fcn.0045b90b
add esp, 8
test eax, eax
je 0x419164
mov dword [0x4bfaf8], edi
call fcn.00426870
test eax, eax
je 0x419332
mov eax, dword [0x510c40]
push 0x8175
push eax
call fcn.0045b90b
add esp, 8
test eax, eax
je 0x419218
cmp eax, dword [0x510c40]
je 0x419218
mov ecx, dword [0x5a97e4]
mov esi, dword [ecx]
mov edx, dword [esp + 0x668]
sub esi, edx
mov dword [ecx], esi
mov edx, dword [0x510c40]
sub eax, edx
mov ecx, eax
mov ebx, ecx
shr ecx, 2
mov esi, edx
lea edi, [esp + 0x464]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea esi, [edx + eax]
mov byte [esp + eax + 0x464], 0
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
push ecx
push esi
push edx
call fcn.0045b560
lea eax, [esp + 0x470]
push eax
call fcn.004207f0
push 0
push 1
push 0x44a4ff72
call fcn.00409d90
add esp, 0x1c
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x654
ret
mov ebp, 0x49ffc0
mov ecx, dword [ebp]
mov edx, dword [0x510c40]
push ecx
push edx
call fcn.0045b895
mov edx, eax
add esp, 8
test edx, edx
je 0x419257
or ecx, 0xffffffff
lea esi, [edx + 2]
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
mov eax, ecx
shr ecx, 2
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ebx, 5
add ebp, 4
cmp ebp, 0x49ffc8
jb 0x41921d
mov dword [esp + 0x20], ebx
mov ebp, 0x49ffc8
mov ecx, dword [ebp]
mov edx, dword [0x510c40]
push ecx
push edx
call fcn.0045b895
mov edx, eax
add esp, 8
test edx, edx
je 0x4192a6
or ecx, 0xffffffff
lea esi, [edx + 4]
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
mov eax, ecx
shr ecx, 2
lea edi, [edx + 2]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
or ebx, 6
add ebp, 4
cmp ebp, 0x49ffd0
jb 0x41926b
mov ecx, dword [0x510c40]
push 0x4a01b8
push ecx
mov dword [esp + 0x28], ebx
call fcn.0045b895
mov edx, eax
add esp, 8
test edx, edx
je 0x4192f4
or ecx, 0xffffffff
lea esi, [edx + 4]
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
mov edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
or ebx, 1
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x20], ebx
mov eax, dword [0x510c40]
push 0x4a01b0
push eax
call fcn.0045b895
mov edx, eax
add esp, 8
test edx, edx
je 0x419332
or ecx, 0xffffffff
lea esi, [edx + 4]
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
mov edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
or ebx, 2
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x20], ebx
mov eax, dword [0x4bc14c]
mov esi, dword [0x4bc118]
mov edx, dword [0x4bc144]
mov ecx, dword [0x4bc13c]
sub eax, esi
add eax, edx
cmp ecx, eax
jle 0x4193c6
call fcn.0040bb20
test eax, eax
jne 0x419367
push str.message_:
call fcn.0040aa80
add esp, 4
mov ecx, dword [0x4bc140]
mov edx, dword [0x4bc144]
mov eax, dword [0x5a97e4]
mov dword [0x4bc138], ecx
mov ecx, dword [esp + 0x668]
mov dword [0x4bc13c], edx
mov dword [0x4bc150], 0
sub dword [eax], ecx
call fcn.0040bb20
test eax, eax
jne 0x4193a5
call fcn.004266c0
push 0
push 0
push 0x93b38a0b
call fcn.00409d90
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x654
ret
mov ebx, dword [0x510c40]
mov ebp, 0x4bc0f0
xor edi, edi
mov dword [esp + 0x10], ebp
mov byte [esp + 0x64], 0
mov dword [esp + 0x38], edi
call fcn.0040bb20
test eax, eax
je 0x419406
mov byte [ebx], 0
call fcn.0040bb50
test eax, eax
jne 0x419aae
mov dword [esp + 0x38], 1
jmp 0x419aae
cmp byte [ebx], 0
je 0x419aae
xor edx, edx
cmp edx, 0x4bc0f0
jne 0x419422
mov ebp, 0x49ff50
mov dword [esp + 0x10], ebp
call fcn.00426820
test eax, eax
je 0x4194e5
mov eax, dword [ebp + 0x60]
cmp eax, edi
je 0x4194e5
mov ecx, dword [ebp + 0x50]
add ecx, eax
cmp dword [ebp + 0x48], ecx
jne 0x4194e5
mov ax, word [ebx]
mov edx, 0x4a0188
cmp ax, word [edx]
jne 0x41947d
lea esi, [ebx + 2]
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
push ecx
push esi
push ebx
call fcn.0045b560
mov dx, word [ebx]
mov ecx, 0x4a0188
add esp, 0xc
cmp dx, word [ecx]
je 0x419458
xor edi, edi
mov cl, byte [ebx]
mov eax, 0x49f128
cmp cl, byte [eax]
jne 0x4194b0
lea esi, [ebx + 1]
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
push ecx
push esi
push ebx
call fcn.0045b560
mov al, byte [ebx]
mov edx, 0x49f128
mov cl, byte [edx]
add esp, 0xc
cmp al, cl
je 0x41948b
xor edi, edi
mov dx, word [ebx]
mov ecx, 0x4a0188
cmp dx, word [ecx]
jne 0x4194e5
lea esi, [ebx + 2]
or ecx, 0xffffffff
xor eax, eax
mov edi, esi
repne scasb al, byte es:[edi]
not ecx
push ecx
push esi
push ebx
call fcn.0045b560
mov cx, word [ebx]
mov eax, 0x4a0188
add esp, 0xc
cmp cx, word [eax]
je 0x4194c0
xor edi, edi
mov eax, dword [0x49ffbc]
sub eax, edi
je 0x419502
dec eax
je 0x419509
dec eax
jne 0x419509
call fcn.0040bb60
neg eax
sbb eax, eax
inc eax
cmp eax, edi
jne 0x419509
mov eax, 1
jmp 0x41950e
mov eax, 4
push eax
push ebp
mov dword [esp + 0x4c], eax
call fcn.00414ae0
mov ecx, dword [ebp + 0x58]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x50]
lea edx, [esp + 0x6c]
mov dword [esp + 0x30], edx
sub eax, dword [ebp + 0x48]
add eax, ecx
mov byte [esp + 0x6c], 0
mov dword [esp + 0x44], eax
mov al, byte [ebx]
add esp, 8
test al, al
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x30], edi
je 0x419aae
mov dword [esp + 0x40], 0x4bc15c
mov edi, dword [esp + 0x28]
push ebx
mov dword [esp + 0x20], edi
call fcn.0045c0e7
mov ebp, eax
sub eax, ebx
mov ecx, eax
mov edx, ecx
shr ecx, 2
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
add esp, 4
cmp eax, 2
rep movsb byte es:[edi], byte [esi]
jl 0x4195a2
mov esi, dword [esp + 0x28]
xor ecx, ecx
mov cl, byte [esi + 1]
xor edx, edx
mov dl, byte [esi]
shl ecx, 8
add ecx, edx
mov dword [esp + 0x2c], ecx
jmp 0x4195b0
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov cl, byte [edx]
mov esi, edx
mov dword [esp + 0x2c], ecx
add esi, eax
mov eax, dword [esp + 0x48]
test eax, eax
mov dword [esp + 0x28], esi
mov byte [esi], 0
je 0x4195de
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax*4 + 0x4cfc0c]
test ecx, ecx
je 0x4195de
xor ecx, ecx
mov cl, byte [eax + 0x4bfc0c]
mov eax, ecx
test eax, eax
jne 0x419621
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x2c]
repne scasb al, byte es:[edi]
not ecx
lea edx, [esp + 0x4c]
push edx
dec ecx
push ecx
mov ecx, dword [0x510c4c]
lea eax, [esp + 0x34]
push eax
push ecx
call dword [0x49707c]
cmp dword [esp + 0x44], 4
jne 0x41961d
mov edx, dword [esp + 0x4c]
lea eax, [edx + 3]
cdq
and edx, 3
add eax, edx
sar eax, 2
jmp 0x419621
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
add esi, eax
mov dword [ecx], eax
add ecx, 4
inc edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x40], ecx
call fcn.004268b0
cmp eax, 2
jl 0x4196ee
call fcn.004268b0
mov ecx, dword [esp + 0x10]
imul eax, dword [ecx + 0x2c]
mov edx, dword [esp + 0x3c]
shl eax, 1
sub edx, eax
cmp esi, edx
jle 0x4196ee
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4196dd
mov eax, dword [0x510c48]
test eax, eax
jne 0x4196a3
push 0x4a0170
push 0x100
push 0x4baad4
push str.GYOUMATUKINSOKU
call fcn.0044e890
add esp, 0x10
mov dword [0x510c48], 1
mov edi, dword [esp + 0x24]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jb 0x4196dd
mov eax, dword [esp + 0x24]
mov cx, word [eax]
lea edx, [esp + 0x34]
push edx
push 0x4baad4
mov word [esp + 0x3c], cx
mov byte [esp + 0x3e], 0
call fcn.0045c1d0
add esp, 8
test eax, eax
jne 0x4196ee
push ebx
call fcn.00419d00
add esp, 4
test eax, eax
je 0x41990e
mov edi, dword [esp + 0x3c]
cmp esi, edi
jg 0x419930
or ecx, 0xffffffff
xor eax, eax
mov edi, ebp
repne scasb al, byte es:[edi]
not ecx
push ecx
push ebp
push ebx
call fcn.0045b560
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
add esp, 0xc
mov dword [esp + 0x24], ecx
mov esi, 0x4a015c
mov eax, ecx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x41974b
test cl, cl
je 0x419747
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x41974b
add eax, 2
add esi, 2
test cl, cl
jne 0x419727
xor eax, eax
jmp 0x419750
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41977a
call fcn.00426820
test eax, eax
je 0x41976f
call fcn.00426840
add eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x60], eax
jmp 0x41977a
mov edx, dword [esp + 0x10]
mov dword [edx + 0x60], 0
mov eax, dword [esp + 0x1c]
mov esi, 0x4a0158
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4197a7
test cl, cl
je 0x4197a3
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4197a7
add eax, 2
add esi, 2
test cl, cl
jne 0x419783
xor eax, eax
jmp 0x4197ac
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4197bb
mov eax, dword [esp + 0x10]
mov dword [eax + 0x60], 0
test byte [esp + 0x20], 4
je 0x419900
mov eax, dword [esp + 0x1c]
mov esi, 0x4a0154
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4197f3
test cl, cl
je 0x4197ef
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4197f3
add eax, 2
add esi, 2
test cl, cl
jne 0x4197cf
xor eax, eax
jmp 0x4197f8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419822
call fcn.00426820
test eax, eax
je 0x419817
call fcn.00426840
add eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x60], eax
jmp 0x419822
mov edx, dword [esp + 0x10]
mov dword [edx + 0x60], 0
mov eax, dword [esp + 0x1c]
mov esi, 0x4a0150
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x41984f
test cl, cl
je 0x41984b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x41984f
add eax, 2
add esi, 2
test cl, cl
jne 0x41982b
xor eax, eax
jmp 0x419854
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419863
mov eax, dword [esp + 0x10]
mov dword [eax + 0x60], 0
mov eax, dword [esp + 0x1c]
mov esi, 0x4a014c
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x419890
test cl, cl
je 0x41988c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x419890
add eax, 2
add esi, 2
test cl, cl
jne 0x41986c
xor eax, eax
jmp 0x419895
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4198bf
call fcn.00426820
test eax, eax
je 0x4198b4
call fcn.00426840
add eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x60], eax
jmp 0x4198bf
mov edx, dword [esp + 0x10]
mov dword [edx + 0x60], 0
mov eax, dword [esp + 0x1c]
mov esi, 0x4a0148
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4198ec
test cl, cl
je 0x4198e8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4198ec
add eax, 2
add esi, 2
test cl, cl
jne 0x4198c8
xor eax, eax
jmp 0x4198f1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x419900
mov eax, dword [esp + 0x10]
mov dword [eax + 0x60], 0
cmp byte [ebx], 0
jne 0x41955e
jmp 0x419a69
mov eax, dword [esp + 0x18]
mov ecx, dword [eax*4 + 0x4bc158]
dec eax
sub esi, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
mov byte [ecx], 0
jmp 0x419a69
mov eax, dword [esp + 0x18]
mov ecx, dword [eax*4 + 0x4bc158]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
dec eax
sub esi, ecx
test ebp, ebp
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
mov byte [edx], 0
je 0x419a69
call fcn.004268b0
test eax, eax
jne 0x419982
push ebp
call fcn.00419d80
add esp, 4
test eax, eax
jne 0x4199a5
push ebx
call fcn.00419d00
add esp, 4
test eax, eax
je 0x419a69
jmp 0x4199a5
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x2c]
lea edx, [esi + ecx*2]
cmp edx, edi
jle 0x419a69
push ebp
call fcn.00419d00
add esp, 4
test eax, eax
jne 0x419a69
mov eax, dword [esp + 0x30]
test eax, eax
je 0x419a69
push eax
call fcn.00419d80
add esp, 4
test eax, eax
jne 0x4199fb
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
dec eax
mov dword [esp + 0x18], eax
mov eax, dword [eax*4 + 0x4bc15c]
sub edi, eax
or ecx, 0xffffffff
mov dword [esp + 0x14], edi
xor eax, eax
mov edi, ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
or ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
push ecx
push ebx
lea ecx, [esi + ebx]
push ecx
jmp 0x419a49
call fcn.004268b0
test eax, eax
je 0x419a69
mov eax, dword [esp + 0x18]
mov edx, dword [eax*4 + 0x4bc158]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x30]
dec eax
mov edi, dword [eax*4 + 0x4bc158]
sub ecx, edx
dec eax
sub ecx, edi
mov dword [esp + 0x14], ecx
or ecx, 0xffffffff
mov dword [esp + 0x18], eax
xor eax, eax
mov edi, ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
or ecx, 0xffffffff
mov edi, ebx
repne scasb al, byte es:[edi]
not ecx
push ecx
push ebx
lea eax, [esi + ebx]
push eax
call fcn.0045b560
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov esi, ebp
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
add esp, 0xc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp], 0
mov al, byte [ebx]
mov ebp, dword [esp + 0x10]
xor edi, edi
test al, al
je 0x419aae
cmp dword [ebp + 0x20], edi
je 0x419aae
mov eax, dword [ebp + 0x50]
mov esi, dword [ebp + 0x48]
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 0x58]
sub eax, esi
sub eax, edx
add eax, ecx
mov ecx, dword [esp + 0x18]
push eax
push ecx
call fcn.00419e00
mov edx, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x48]
mov eax, dword [ebp + 0x58]
sub edx, ecx
add esp, 8
add edx, eax
mov dword [0x4bfaf0], edx
mov al, byte [esp + 0x64]
test al, al
jne 0x419b1f
mov eax, dword [0x5a97e4]
mov esi, dword [eax]
mov ecx, dword [esp + 0x668]
sub esi, ecx
mov dword [eax], esi
mov edx, dword [0x4bc150]
mov eax, dword [0x4bc140]
mov ecx, dword [0x4bc120]
add eax, edx
mov edx, dword [0x4bc13c]
mov dword [0x4bc138], eax
mov eax, dword [esp + 0x38]
add edx, ecx
cmp eax, edi
mov dword [0x4bc13c], edx
mov dword [0x4baa8c], edi
je 0x419ce8
push edi
push edi
push 0x1a95282e
call fcn.00409d90
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x654
ret
cmp dword [0x4baa8c], edi
je 0x419b65
cmp dword [0x50fc20], edi
jne 0x419b65
cmp dword [0x4baa18], edi
jne 0x419b65
or ecx, 0xffffffff
xor eax, eax
lea edi, [esp + 0x64]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
or ecx, 0xffffffff
mov esi, edi
mov edi, 0x4bace4
repne scasb al, byte es:[edi]
mov ecx, edx
shr ecx, 2
dec edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor edi, edi
lea eax, [esp + 0x64]
push 0x8175
push eax
call fcn.0045b90b
add esp, 8
test eax, eax
jne 0x419b82
test byte [esp + 0x20], 1
je 0x419bbc
mov ecx, dword [0x4bfaf4]
mov edx, ecx
shl edx, 5
add edx, ecx
lea eax, [ecx + edx*4]
shl eax, 2
mov dword [eax + 0x4bd168], 1
mov dl, byte [eax + 0x4bd16c]
test dl, dl
je 0x419bbc
mov edx, dword [0x4bc13c]
inc ecx
mov dword [eax + 0x4bd160], edx
mov dword [0x4bfaf4], ecx
mov edx, dword [0x4bc134]
push 1
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x6c]
push ecx
push edx
push 0x4bc0f0
call fcn.00414d00
mov esi, eax
lea eax, [esp + 0x78]
push 0x8176
push eax
call fcn.0045b90b
mov edx, dword [0x4bc120]
mov ecx, dword [0x510c40]
add esp, 0x1c
test eax, eax
jne 0x419c09
test byte [esp + 0x20], 2
je 0x419c43
cmp byte [ecx], 0
jne 0x419c68
mov eax, dword [0x4bfaf4]
cmp eax, edi
je 0x419c43
mov ebx, eax
shl ebx, 5
add ebx, eax
lea eax, [eax + ebx*4]
shl eax, 2
mov dword [eax + 0x4bcf54], edi
cmp dword [eax + 0x4bcf50], edi
jne 0x419c43
mov ebx, dword [0x4bc13c]
mov ebp, dword [eax + 0x4bcf4c]
add ebx, edx
sub ebx, ebp
mov dword [eax + 0x4bcf50], ebx
cmp byte [ecx], 0
jne 0x419c68
mov dword [ecx + 0x400], edi
mov eax, dword [0x4bc138]
add eax, esi
mov dword [0x510c40], edi
mov dword [0x4bc138], eax
mov dword [0x510c58], edi
jmp 0x419c86
mov ecx, dword [0x4bc150]
mov eax, dword [0x4bc140]
add eax, ecx
mov dword [0x4bc138], eax
add dword [0x4bc13c], edx
mov dword [0x4baa8c], edi
mov eax, dword [0x5a97e4]
mov ebx, dword [eax]
mov ecx, dword [esp + 0x668]
sub ebx, ecx
mov dword [eax], ebx
mov edx, dword [0x4bc12c]
push edx
call fcn.004206f0
mov eax, dword [esp + 0x64]
push eax
call fcn.004206f0
mov ecx, dword [esp + 0x64]
push ecx
call fcn.004206f0
mov edx, dword [esp + 0x64]
push edx
call fcn.004206f0
mov eax, dword [esp + 0x64]
push eax
call fcn.004206f0
mov ecx, dword [0x4bc134]
push ecx
call fcn.004206f0
push edi
push 6
push 0x47bb540c
call fcn.00409d90
add esp, 0x24
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x654
ret