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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x578066
mov eax, dword fs:[0]
push eax
sub esp, 0x808
mov eax, dword [0x5ca1c8]
xor eax, esp
mov dword [esp + 0x800], eax
push ebx
push esi
push edi
mov eax, dword [0x5ca1c8]
xor eax, esp
push eax
lea eax, [esp + 0x818]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0xac], edi
mov ecx, dword [ebp + 8]
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov eax, dword [edi + 0x74]
mov dword [esp + 0xa4], ecx
cmp eax, dword [edi + 0x78]
jne 0x495bdc
mov ecx, edi
call fcn.00496bb2
mov ecx, dword [esp + 0xa4]
mov eax, dword [edi + 0x74]
cmp eax, dword [edi + 0x78]
je 0x496995
mov eax, dword [edi]
test eax, eax
je 0x496995
cmp dword [eax + 0x324], 0xff
je 0x496995
cmp dword [edi + 8], ebx
jne 0x496995
xor eax, eax
inc eax
inc dword [edi + 0x14]
mov dword [edi + 8], eax
test cl, cl
je 0x495c51
inc dword [edi + 0x18]
inc dword [edi + 0x34]
cmp byte [edi + 0x58], bl
je 0x495c33
inc dword [edi + 0x1c]
inc dword [edi + 0x54]
mov byte [edi + 0x58], bl
push str.SeaFile_use_cdn:false
jmp 0x495c43
cmp byte [edi + 0x59], bl
je 0x495c4e
inc dword [edi + 0x20]
mov byte [edi + 0x59], bl
push str.SeaFile_use_tcp:false
push dword [edi]
call fcn.00499ece
pop ecx
pop ecx
jmp 0x495c51
inc dword [edi + 0x4c]
mov cl, byte [edi + 0x39]
mov byte [esp + 0x1b], bl
mov dword [esp + 0x5c], ebx
test cl, cl
je 0x495c99
mov eax, dword [edi]
mov ebx, dword [eax + 0x680]
test ebx, ebx
je 0x495c97
movzx esi, cl
mov ecx, ebx
dec esi
push esi
call fcn.004a5482
push esi
mov ecx, ebx
mov byte [esp + 0x1f], al
call fcn.004a54c5
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
movzx eax, ax
mov dword [esp + 0x5c], eax
xor ebx, ebx
call fcn.0053e160
test eax, eax
jg 0x495d50
call fcn.00541a50
test eax, eax
je 0x495cd1
call fcn.00541a50
push eax
lea ecx, [esp + 0x350]
call fcn.00401bca
mov esi, eax
xor ecx, ecx
mov dword [esp + 0x820], ebx
lea ebx, [ecx + 1]
jmp 0x495cf6
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea eax, [esp + 0x368]
push eax
call fcn.00542c10
pop ecx
pop ecx
mov esi, eax
xor ecx, ecx
inc ecx
push 2
mov dword [esp + 0x824], ecx
pop ebx
push 0
push 0x10f
push str.file_transport_seafile_manager.cpp
lea ecx, [esp + 0x248]
mov dword [esp + 0x20], ebx
call fcn.0053d6e0
push str.SendSeafileAdvance:
push ecx
push 0x584598
push ecx
add eax, 8
mov dword [esp + 0x830], 2
push esi
or ebx, 4
push eax
mov dword [esp + 0x2c], ebx
call fcn.0042cfb7
add esp, 0xc
push eax
call fcn.00409e4f
add esp, 0xc
push eax
call fcn.0053dc00
pop ecx
pop ecx
jmp 0x495d54
mov ebx, dword [esp + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x820], eax
test bl, 4
je 0x495d79
and ebx, 0xfffffffb
lea ecx, [esp + 0x23c]
mov dword [esp + 0x14], ebx
call fcn.0053d8d0
xor eax, eax
inc eax
test bl, 2
je 0x495d94
push 0
and ebx, 0xfffffffd
lea ecx, [esp + 0x368]
push eax
mov dword [esp + 0x1c], ebx
call fcn.00401cbf
or dword [esp + 0x820], 0xffffffff
xor eax, eax
inc eax
test al, bl
je 0x495db9
push 0
and ebx, 0xfffffffe
lea ecx, [esp + 0x350]
push eax
mov dword [esp + 0x1c], ebx
call fcn.00401cbf
call fcn.0053e160
test eax, eax
jg 0x495ebf
call fcn.00541a50
test eax, eax
je 0x495df5
call fcn.00541a50
push eax
lea ecx, [esp + 0x3e0]
call fcn.00401bca
mov dword [esp + 0x38], eax
mov dword [esp + 0x820], 3
or ebx, 8
jmp 0x495e1d
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea eax, [esp + 0x3b0]
push eax
call fcn.00542c10
pop ecx
pop ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x820], 4
or ebx, 0x10
mov ecx, dword [edi]
lea eax, [esp + 0x37c]
push eax
mov dword [esp + 0x18], ebx
call fcn.004a0094
mov esi, eax
push 0
push 0x110
mov dword [esp + 0x828], 5
lea ecx, [esp + 0x194]
or ebx, 0x20
push str.file_transport_seafile_manager.cpp
mov dword [esp + 0x20], ebx
call fcn.0053d6e0
mov dword [esp + 0x820], 6
add eax, 8
mov ecx, dword [edi]
or ebx, 0x40
push esi
push str._usertoken
mov dword [esp + 0x1c], ebx
push dword [ecx + 0x6d4]
push str.userid
push 0x584598
push ecx
push dword [esp + 0x50]
push eax
call fcn.0042cfb7
add esp, 0xc
push eax
call fcn.00409e4f
pop ecx
pop ecx
push eax
call fcn.0053dc00
pop ecx
pop ecx
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int_]
push eax
call fcn.0053dc00
pop ecx
pop ecx
push eax
call fcn.0042cfb7
pop ecx
pop ecx
mov dword [esp + 0x820], 5
test bl, 0x40
je 0x495ee2
and ebx, 0xffffffbf
lea ecx, [esp + 0x18c]
mov dword [esp + 0x14], ebx
call fcn.0053d8d0
xor esi, esi
inc esi
test bl, 0x20
je 0x495f00
push 0
and ebx, 0xffffffdf
lea ecx, [esp + 0x380]
push esi
mov dword [esp + 0x1c], ebx
call fcn.00401cbf
test bl, 0x10
je 0x495f1b
push 0
and ebx, 0xffffffef
lea ecx, [esp + 0x3b0]
push esi
mov dword [esp + 0x1c], ebx
call fcn.00401cbf
or dword [esp + 0x820], 0xffffffff
test bl, 8
je 0x495f3e
push 0
and ebx, 0xfffffff7
lea ecx, [esp + 0x3e0]
push esi
mov dword [esp + 0x1c], ebx
call fcn.00401cbf
call fcn.0053e160
push 7
pop esi
test eax, eax
jg 0x49604f
call fcn.00541a50
test eax, eax
je 0x495f7c
call fcn.00541a50
push eax
lea ecx, [esp + 0x3f8]
call fcn.00401bca
mov dword [esp + 0x38], eax
mov dword [esp + 0x820], esi
or ebx, 0x80
jmp 0x495fa7
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea eax, [esp + 0x398]
push eax
call fcn.00542c10
pop ecx
pop ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x820], 8
or ebx, 0x100
mov ecx, dword [edi]
lea eax, [esp + 0x3c4]
push eax
mov dword [esp + 0x18], ebx
call fcn.004a00b4
mov esi, eax
push 0
push 0x111
mov dword [esp + 0x828], 9
lea ecx, [esp + 0xe4]
or ebx, 0x200
push str.file_transport_seafile_manager.cpp
mov dword [esp + 0x20], ebx
call fcn.0053d6e0
mov dword [esp + 0x820], 0xa
add eax, 8
mov ecx, dword [edi]
or ebx, 0x400
push esi
push str._viptoken
mov dword [esp + 0x1c], ebx
push dword [ecx + 0x6d8]
push str.viptype
push 0x584598
push ecx
push dword [esp + 0x50]
push eax
call fcn.0042cfb7
add esp, 0xc
push eax
call fcn.00409e4f
pop ecx
pop ecx
push eax
call fcn.0053dc00
pop ecx
pop ecx
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_int_]
push eax
call fcn.0053dc00
pop ecx
pop ecx
push eax
call fcn.0042cfb7
pop ecx
pop ecx
mov dword [esp + 0x820], 9
test ebx, 0x400
je 0x496078
and ebx, 0xfffffbff
lea ecx, [esp + 0xdc]
mov dword [esp + 0x14], ebx
call fcn.0053d8d0
xor esi, esi
inc esi
test ebx, 0x200
je 0x49609c
push 0
and ebx, 0xfffffdff
lea ecx, [esp + 0x3c8]
push esi
mov dword [esp + 0x1c], ebx
call fcn.00401cbf
test ebx, 0x100
je 0x4960bd
push 0
and ebx, 0xfffffeff
lea ecx, [esp + 0x398]
push esi
mov dword [esp + 0x1c], ebx
call fcn.00401cbf
test bl, bl
jns 0x4960dd
and ebx, 0xffffff7f
lea ecx, [esp + 0x3f4]
mov dword [esp + 0x14], ebx
xor ebx, ebx
push ebx
push esi
call fcn.00401cbf
jmp 0x4960df
xor ebx, ebx
push ebx
call dword [sym.imp.MSVCR120.dll__time64]
pop ecx
push eax
call dword [sym.imp.MSVCR120.dll_srand]
mov esi, dword [sym.imp.MSVCR120.dll_rand]
pop ecx
call esi
and eax, reloc.SSLEAY32.dll_Ordinal_127
jns 0x496103
dec eax
or eax, 0xffffff80
inc eax
mov dword [esp + 0x60], eax
call esi
push 7
pop ecx
cdq
idiv ecx
push ebx
push 0x400
lea eax, [esp + 0x414]
mov esi, edx
push eax
lea ecx, [esp + 0x70]
call fcn.00533ee6
push ebx
push 2
lea eax, [esi + 0x124]
mov dword [esp + 0x828], 0xb
movzx eax, ax
lea ecx, [esp + 0x6c]
pop esi
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x3c]
push esi
push eax
call fcn.00533b41
mov eax, dword [edi]
lea ecx, [esp + 0x64]
push ebx
push esi
mov eax, dword [eax + 0x590]
mov eax, dword [eax + 0xf0]
movzx eax, ax
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xc0]
push eax
call fcn.00533b41
mov eax, dword [edi]
lea ecx, [esp + 0x64]
push ebx
push 4
mov eax, dword [eax + 0x6d4]
mov dword [esp + 0xc8], eax
lea eax, [esp + 0xc8]
push eax
call fcn.00533b41
mov eax, dword [edi]
lea ecx, [esp + 0x64]
push ebx
push esi
mov eax, dword [eax + 0x58c]
mov eax, dword [eax + 0x15c]
movzx eax, ax
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xcc]
push eax
call fcn.00533b41
mov eax, dword [edi]
mov ecx, dword [eax + 0x324]
cmp ecx, 3
je 0x4961e9
cmp ecx, 0x10
je 0x4961e9
xor eax, eax
cmp ecx, 0xd
sete al
inc eax
jmp 0x4961eb
mov eax, ebx
movzx eax, ax
lea ecx, [esp + 0x64]
push ebx
mov dword [esp + 0xb4], eax
lea eax, [esp + 0xb4]
push esi
push eax
call fcn.00533b41
mov eax, dword [edi]
mov eax, dword [eax + 0x324]
cmp eax, 3
je 0x49622b
test eax, eax
je 0x49622b
cmp eax, 0x10
je 0x496227
cmp eax, 0x14
je 0x496227
mov al, bl
jmp 0x49622e
mov al, 2
jmp 0x49622e
xor eax, eax
inc eax
mov byte [esp + 0x30], al
lea ecx, [esp + 0x64]
xor eax, eax
push ebx
inc eax
push eax
lea eax, [esp + 0x38]
push eax
call fcn.00533b41
mov ecx, dword [edi]
lea eax, [esp + 0x304]
push eax
mov ebx, dword [ecx + 0x6d8]
call fcn.004a0094
xor eax, eax
mov byte [esp + 0x820], 0xc
push 0
inc eax
mov byte [esp + 0x48], bl
push eax
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x70]
call fcn.00533b41
mov esi, dword [esp + 0x314]
lea eax, [esp + 0xb4]
cmp dword [esp + 0x318], 0x10
lea edi, [esp + 0x304]
push 0
cmovae edi, dword [esp + 0x308]
movzx ecx, si
push 2
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0x6c]
push eax
call fcn.00533b41
mov eax, esi
lea ecx, [esp + 0x64]
cdq
push edx
push eax
push edi
call fcn.00533b41
mov edi, dword [esp + 0xac]
mov ebx, dword [edi + 0x6c]
lea esi, [edi + 0x5c]
cmp dword [esi + 0x14], 0x10
jb 0x4962db
mov esi, dword [esi]
push 0
movzx ecx, bx
lea eax, [esp + 0xc0]
push 2
mov dword [esp + 0xc4], ecx
lea ecx, [esp + 0x6c]
push eax
call fcn.00533b41
mov eax, ebx
lea ecx, [esp + 0x64]
cdq
push edx
push eax
push esi
call fcn.00533b41
mov eax, dword [edi]
mov eax, dword [eax + 0x58c]
add eax, 0xb8
je 0x496320
mov eax, dword [eax + 0xa0]
jmp 0x496325
mov eax, 0x3e9
movzx eax, ax
lea ecx, [esp + 0x64]
xor ebx, ebx
mov dword [esp + 0xc8], eax
push ebx
push 2
lea eax, [esp + 0xd0]
push eax
call fcn.00533b41
mov eax, dword [edi]
lea ecx, [esp + 0x64]
push ebx
mov eax, dword [eax + 0x590]
mov eax, dword [eax + 0x1c]
mov byte [esp + 0x28], al
xor eax, eax
inc eax
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00533b41
mov eax, dword [edi]
lea ecx, [esp + 0x64]
push ebx
push 0x10
add eax, 0x248
push eax
call fcn.00533b41
mov eax, dword [edi]
lea ecx, [esp + 0x334]
add eax, 0x348
push eax
call fcn.00407617
push 0x583988
lea ecx, [esp + 0x2f0]
mov byte [esp + 0x824], 0xd
call fcn.00401bca
mov esi, 0x596164
mov byte [esp + 0x820], 0xe
mov ecx, esi
call fcn.00401581
push eax
push ebx
push esi
lea ecx, [esp + 0x340]
call fcn.004398d3
test eax, eax
jne 0x4963e9
mov esi, str.collection
push esi
call fcn.004015dc
pop ecx
push eax
push esi
lea ecx, [esp + 0x2f4]
call fcn.00401d49
cmp dword [esp + 0x300], 0x10
lea esi, [esp + 0x2ec]
mov ebx, dword [esp + 0x2fc]
lea ecx, [esp + 0x64]
cmovae esi, dword [esp + 0x2ec]
xor eax, eax
push 0
inc eax
mov byte [esp + 0x50], bl
push eax
lea eax, [esp + 0x54]
push eax
call fcn.00533b41
mov eax, ebx
lea ecx, [esp + 0x64]
cdq
push edx
push eax
push esi
call fcn.00533b41
cmp dword [esp + 0x300], 0x10
lea esi, [esp + 0x2ec]
mov ebx, dword [esp + 0x2fc]
lea ecx, [esp + 0x64]
cmovae esi, dword [esp + 0x2ec]
xor eax, eax
push 0
inc eax
mov byte [esp + 0x30], bl
push eax
lea eax, [esp + 0x34]
push eax
call fcn.00533b41
mov eax, ebx
lea ecx, [esp + 0x64]
cdq
push edx
push eax
push esi
call fcn.00533b41
xor ebx, ebx
lea eax, [esp + 0xa0]
push ebx
push 4
push eax
lea ecx, [esp + 0x70]
mov dword [esp + 0xac], ebx
call fcn.00533b41
lea ecx, [esp + 0x64]
push ebx
cmp byte [edi + 0x39], bl
jne 0x4964b6
mov eax, dword [edi]
mov eax, dword [eax + 0x58c]
mov al, byte [eax + 0x161]
mov byte [esp + 0x44], al
xor eax, eax
inc eax
push eax
lea eax, [esp + 0x48]
jmp 0x4964c7
mov al, byte [0x5d29bf]
mov byte [esp + 0x38], al
xor eax, eax
inc eax
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00533b41
mov al, byte [0x5d29be]
lea ecx, [esp + 0x64]
mov byte [esp + 0x48], al
xor eax, eax
push ebx
inc eax
push eax
lea eax, [esp + 0x50]
push eax
call fcn.00533b41
mov al, byte [edi + 0x39]
lea ecx, [esp + 0x64]
mov byte [esp + 0x3c], al
xor eax, eax
push ebx
inc eax
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00533b41
mov al, byte [esp + 0x1b]
lea ecx, [esp + 0x64]
mov byte [esp + 0x50], al
xor eax, eax
push ebx
inc eax
push eax
lea eax, [esp + 0x58]
push eax
call fcn.00533b41
mov esi, dword [esp + 0x5c]
lea ecx, [esp + 0x64]
movzx eax, si
push ebx
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
push 2
push eax
call fcn.00533b41
mov eax, dword [edi + 0x3c]
lea ecx, [esp + 0x64]
push ebx
mov dword [esp + 0xac], eax
lea eax, [esp + 0xac]
push 4
push eax
call fcn.00533b41
mov eax, dword [edi + 0x40]
lea ecx, [esp + 0x64]
push ebx
mov dword [esp + 0x90], eax
lea eax, [esp + 0x90]
push 4
push eax
call fcn.00533b41
mov al, byte [edi + 0x44]
lea ecx, [esp + 0x64]
mov byte [esp + 0x58], al
xor eax, eax
push ebx
inc eax
push eax
lea eax, [esp + 0x60]
push eax
call fcn.00533b41
mov al, byte [edi + 0x45]
lea ecx, [esp + 0x64]
mov byte [esp + 0x1c], al
xor eax, eax
push ebx
inc eax
push eax
lea eax, [esp + 0x24]
push eax
call fcn.00533b41
mov al, byte [edi + 0x46]
mov byte [esp + 0x54], al
xor eax, eax
push ebx
inc eax
lea ecx, [esp + 0x68]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.00533b41
xor eax, eax
mov byte [esp + 0x20], 0xff
push ebx
inc eax
lea ecx, [esp + 0x68]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.00533b41
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x64]
movzx ebx, al
xor eax, eax
push 0
inc eax
mov byte [esp + 0x2c], bl
push eax
lea eax, [esp + 0x30]
push eax
call fcn.00533b41
mov eax, ebx
lea ecx, [esp + 0x64]
cdq
push edx
push eax
lea eax, [esp + 0x414]
push eax
call fcn.00533b41
mov eax, dword [edi]
push dword [eax + 0x648]
push dword [eax + 0x644]
push dword [edi + 0x18]
push dword [edi + 0x14]
push 0x5967cc
push eax
call fcn.00499ece
movzx eax, si
push eax
movzx eax, byte [esp + 0x37]
push eax
movzx eax, byte [edi + 0x39]
push eax
movzx eax, byte [0x5d29be]
push eax
movzx eax, byte [0x5d29bf]
push eax
push str.seafile
push dword [edi]
call fcn.00499ece
mov eax, dword [edi + 0x78]
add esp, 0x34
sub eax, dword [edi + 0x74]
cdq
mov esi, dword [edi + 0x34]
push 0x2c
pop ecx
idiv ecx
cmp esi, eax
jl 0x496684
mov eax, dword [edi + 0x78]
sub eax, dword [edi + 0x74]
cdq
idiv ecx
xor edx, edx
mov ecx, eax
mov eax, esi
div ecx
mov esi, edx
mov eax, dword [edi + 0x74]
imul ebx, esi, 0x2c
mov eax, dword [ebx + eax + 0x24]
mov dword [edi + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
test eax, eax
push 1
pop ecx
cmove eax, ecx
xor esi, esi
mov dword [edi + 0x28], eax
mov edx, dword [edi + 0x74]
mov eax, dword [ebx + edx]
sub eax, esi
je 0x4968cf
dec eax
je 0x49687b
dec eax
je 0x496704
dec eax
jne 0x496933
lea ecx, [edx + 8]
add ecx, ebx
call fcn.00450334
mov ecx, dword [edi + 0x74]
push esi
mov cx, word [ebx + ecx + 0x20]
push ecx
push ecx
push dword [esp + 0x88]
mov word [esp + 0xa4], cx
lea ecx, [esp + 0x41c]
push ecx
push esi
push esi
push dword [esp + 0xb0]
push edx
push eax
push 0x71000201
jmp 0x4968c0
mov eax, dword [edi + 0x74]
inc dword [edi + 0x50]
add eax, 8
add eax, ebx
mov byte [edi + 0x58], cl
push eax
lea ecx, [esp + 0x320]
call fcn.004075ae
sub esp, 0x18
mov byte [esp + 0x838], 0xf
lea esi, [esp + 0x334]
push 6
pop ecx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0xc4]
push str.SeaFile_use_cdn:_s
push dword [edi]
call fcn.00499ece
mov eax, dword [edi]
add esp, 8
mov esi, esp
mov dword [esp + 0xc0], esp
mov dword [esp + 0xb8], esi
mov ecx, dword [eax + 0x58c]
mov eax, dword [eax + 0x590]
and dword [esi + 0x10], 0
mov dword [esp + 0x78], ecx
mov dword [esp + 0xa4], eax
push 0x18
mov byte [esp + 0x83c], 0x10
call dword [sym.imp.MSVCR120.dll_void____cdecl_operator_new_unsigned_int_]
pop ecx
mov ecx, eax
test ecx, ecx
jne 0x496798
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xbad_alloc_void_]
mov al, byte [esp + 0xe8]
mov dword [ecx], 0x596898
mov dword [ecx + 4], 0x4969fe
mov byte [ecx + 8], al
mov al, byte [esp + 0xe9]
mov byte [ecx + 9], al
mov al, byte [esp + 0xea]
mov byte [ecx + 0xa], al
mov al, byte [esp + 0xeb]
mov byte [ecx + 0xb], al
mov eax, dword [esp + 0x78]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0xa4]
mov dword [ecx + 0x10], eax
mov dword [esi + 0x10], ecx
sub esp, 0x18
mov byte [esp + 0x850], 0x11
lea eax, [esp + 0x34c]
mov dword [esp + 0x90], esp
mov ecx, esp
push eax
call fcn.004075ae
mov byte [esp + 0x850], 0x12
mov eax, dword [esp + 0xb0]
mov esi, dword [esp + 0xac]
mov dword [esp + 0xc0], eax
mov eax, dword [edi]
mov ecx, dword [eax + 0x590]
call fcn.00445bbf
push 0x1770
push esi
lea ecx, [esp + 0x444]
xor esi, esi
push ecx
mov ecx, dword [edi]
push edx
push eax
xor eax, eax
mov byte [esp + 0x864], 0xf
mov ecx, dword [ecx + 0x590]
inc eax
push esi
push eax
push 0x50
call fcn.00444e56
xor eax, eax
mov byte [esp + 0x820], 0xe
inc eax
lea ecx, [esp + 0x31c]
push esi
push eax
mov byte [edi + 0x38], al
call fcn.00401cbf
jmp 0x496933
inc dword [edi + 0x50]
mov byte [edi + 0x59], cl
mov ecx, dword [edi + 0x74]
add ecx, 8
add ecx, ebx
call fcn.00450334
mov ecx, dword [edi + 0x74]
push esi
mov cx, word [ebx + ecx + 0x20]
push ecx
push ecx
push dword [esp + 0x88]
mov word [esp + 0xa4], cx
lea ecx, [esp + 0x41c]
push ecx
push esi
push esi
push dword [esp + 0xb0]
push edx
push eax
push 0x71000001
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x590]
call fcn.00448ba5
jmp 0x496933
mov ecx, dword [edi]
push dword [esp + 0x7c]
inc dword [edi + 0x48]
push 0x2c
mov ecx, dword [ecx + 0x590]
call fcn.00449dd2
lea ecx, [edx + 8]
mov esi, eax
add ecx, ebx
call fcn.00450334
mov ecx, dword [edi + 0x74]
mov cx, word [ebx + ecx + 0x20]
mov word [esp + 0x94], cx
xor ecx, ecx
inc ecx
push ecx
push ecx
push ecx
push dword [esp + 0x88]
lea ecx, [esp + 0x41c]
push ecx
mov ecx, dword [edi]
push 0
push 0
push dword [esp + 0xb0]
mov ecx, dword [ecx + 0x590]
push edx
push eax
push esi
call fcn.00448ba5
xor esi, esi
cmp byte [esp + 0xa4], 0
mov edx, 0x5831d4
mov ecx, dword [edi + 0x74]
mov eax, str._nN_k
cmove eax, edx
push eax
push dword [edi + 0x18]
push dword [ebx + ecx]
push dword [ebx + ecx + 0x28]
push dword [edi + 0x14]
push 0x596830
push dword [edi]
call fcn.00499ece
add esp, 0x1c
lea ecx, [esp + 0x2ec]
xor ebx, ebx
inc ebx
push esi
push ebx
call fcn.00401cbf
push esi
push ebx
lea ecx, [esp + 0x33c]
call fcn.00401d04
push esi
push ebx
lea ecx, [esp + 0x30c]
call fcn.00401cbf
mov ecx, dword [esp + 0x818]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x800]
xor ecx, esp
call fcn.0055fedc
mov esp, ebp
pop ebp
ret 4