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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x575942
mov eax, dword fs:[0]
push eax
sub esp, 0x808
mov eax, dword [0x5c31c8]
xor eax, esp
mov dword [esp + 0x800], eax
push ebx
push esi
push edi
mov eax, dword [0x5c31c8]
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 0x496a61
mov ecx, edi
call fcn.00497a33
mov ecx, dword [esp + 0xa4]
mov eax, dword [edi + 0x74]
cmp eax, dword [edi + 0x78]
je 0x497816
mov eax, dword [edi]
test eax, eax
je 0x497816
cmp dword [eax + 0x324], 0xff
je 0x497816
cmp dword [edi + 8], ebx
jne 0x497816
xor eax, eax
inc eax
inc dword [edi + 0x14]
mov dword [edi + 8], eax
test cl, cl
je 0x496ad6
inc dword [edi + 0x18]
inc dword [edi + 0x34]
cmp byte [edi + 0x58], bl
je 0x496ab8
inc dword [edi + 0x1c]
inc dword [edi + 0x54]
mov byte [edi + 0x58], bl
push str.SeaFile_use_cdn:false
jmp 0x496ac8
cmp byte [edi + 0x59], bl
je 0x496ad3
inc dword [edi + 0x20]
mov byte [edi + 0x59], bl
push str.SeaFile_use_tcp:false
push dword [edi]
call fcn.0049acc8
pop ecx
pop ecx
jmp 0x496ad6
inc dword [edi + 0x4c]
mov cl, byte [edi + 0x39]
mov byte [esp + 0x1b], bl
mov dword [esp + 0x5c], ebx
test cl, cl
je 0x496b1e
mov eax, dword [edi]
mov ebx, dword [eax + 0x680]
test ebx, ebx
je 0x496b1c
movzx esi, cl
mov ecx, ebx
dec esi
push esi
call fcn.004a60b2
push esi
mov ecx, ebx
mov byte [esp + 0x1f], al
call fcn.004a60f5
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
movzx eax, ax
mov dword [esp + 0x5c], eax
xor ebx, ebx
call fcn.0053bc30
test eax, eax
jg 0x496bd5
call fcn.0053f520
test eax, eax
je 0x496b56
call fcn.0053f520
push eax
lea ecx, [esp + 0x350]
call fcn.00401c4a
mov esi, eax
xor ecx, ecx
mov dword [esp + 0x820], ebx
lea ebx, [ecx + 1]
jmp 0x496b7b
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea eax, [esp + 0x368]
push eax
call fcn.005406e0
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.0053b1b0
push str.SendSeafileAdvance:
push ecx
push 0x5805d4
push ecx
add eax, 8
mov dword [esp + 0x830], 2
push esi
or ebx, 4
push eax
mov dword [esp + 0x2c], ebx
call fcn.0042dd8b
add esp, 0xc
push eax
call fcn.00409f76
add esp, 0xc
push eax
call fcn.0053b6d0
pop ecx
pop ecx
jmp 0x496bd9
mov ebx, dword [esp + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x820], eax
test bl, 4
je 0x496bfe
and ebx, 0xfffffffb
lea ecx, [esp + 0x23c]
mov dword [esp + 0x14], ebx
call fcn.0053b3a0
xor eax, eax
inc eax
test bl, 2
je 0x496c19
push 0
and ebx, 0xfffffffd
lea ecx, [esp + 0x368]
push eax
mov dword [esp + 0x1c], ebx
call fcn.00401d3f
or dword [esp + 0x820], 0xffffffff
xor eax, eax
inc eax
test al, bl
je 0x496c3e
push 0
and ebx, 0xfffffffe
lea ecx, [esp + 0x350]
push eax
mov dword [esp + 0x1c], ebx
call fcn.00401d3f
call fcn.0053bc30
test eax, eax
jg 0x496d44
call fcn.0053f520
test eax, eax
je 0x496c7a
call fcn.0053f520
push eax
lea ecx, [esp + 0x3e0]
call fcn.00401c4a
mov dword [esp + 0x38], eax
mov dword [esp + 0x820], 3
or ebx, 8
jmp 0x496ca2
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea eax, [esp + 0x3b0]
push eax
call fcn.005406e0
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.004a0d05
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.0053b1b0
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 0x5805d4
push ecx
push dword [esp + 0x50]
push eax
call fcn.0042dd8b
add esp, 0xc
push eax
call fcn.00409f76
pop ecx
pop ecx
push eax
call fcn.0053b6d0
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.0053b6d0
pop ecx
pop ecx
push eax
call fcn.0042dd8b
pop ecx
pop ecx
mov dword [esp + 0x820], 5
test bl, 0x40
je 0x496d67
and ebx, 0xffffffbf
lea ecx, [esp + 0x18c]
mov dword [esp + 0x14], ebx
call fcn.0053b3a0
xor esi, esi
inc esi
test bl, 0x20
je 0x496d85
push 0
and ebx, 0xffffffdf
lea ecx, [esp + 0x380]
push esi
mov dword [esp + 0x1c], ebx
call fcn.00401d3f
test bl, 0x10
je 0x496da0
push 0
and ebx, 0xffffffef
lea ecx, [esp + 0x3b0]
push esi
mov dword [esp + 0x1c], ebx
call fcn.00401d3f
or dword [esp + 0x820], 0xffffffff
test bl, 8
je 0x496dc3
push 0
and ebx, 0xfffffff7
lea ecx, [esp + 0x3e0]
push esi
mov dword [esp + 0x1c], ebx
call fcn.00401d3f
call fcn.0053bc30
push 7
pop esi
test eax, eax
jg 0x496ed4
call fcn.0053f520
test eax, eax
je 0x496e01
call fcn.0053f520
push eax
lea ecx, [esp + 0x3f8]
call fcn.00401c4a
mov dword [esp + 0x38], eax
mov dword [esp + 0x820], esi
or ebx, 0x80
jmp 0x496e2c
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
lea eax, [esp + 0x398]
push eax
call fcn.005406e0
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.004a0d25
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.0053b1b0
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 0x5805d4
push ecx
push dword [esp + 0x50]
push eax
call fcn.0042dd8b
add esp, 0xc
push eax
call fcn.00409f76
pop ecx
pop ecx
push eax
call fcn.0053b6d0
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.0053b6d0
pop ecx
pop ecx
push eax
call fcn.0042dd8b
pop ecx
pop ecx
mov dword [esp + 0x820], 9
test ebx, 0x400
je 0x496efd
and ebx, 0xfffffbff
lea ecx, [esp + 0xdc]
mov dword [esp + 0x14], ebx
call fcn.0053b3a0
xor esi, esi
inc esi
test ebx, 0x200
je 0x496f21
push 0
and ebx, 0xfffffdff
lea ecx, [esp + 0x3c8]
push esi
mov dword [esp + 0x1c], ebx
call fcn.00401d3f
test ebx, 0x100
je 0x496f42
push 0
and ebx, 0xfffffeff
lea ecx, [esp + 0x398]
push esi
mov dword [esp + 0x1c], ebx
call fcn.00401d3f
test bl, bl
jns 0x496f62
and ebx, 0xffffff7f
lea ecx, [esp + 0x3f4]
mov dword [esp + 0x14], ebx
xor ebx, ebx
push ebx
push esi
call fcn.00401d3f
jmp 0x496f64
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 0x496f88
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.005321af
push ebx
push 2
lea eax, [esi + 0x124]
mov dword [esp + 0x828], 0xb
movzx eax, ax
pop esi
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x3c]
push esi
push eax
call fcn.00531e36
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.00531e36
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.00531e36
mov eax, dword [edi]
lea ecx, [esp + 0x64]
push ebx
push esi
mov eax, dword [eax + 0x58c]
mov eax, dword [eax + 0x168]
movzx eax, ax
mov dword [esp + 0xcc], eax
lea eax, [esp + 0xcc]
push eax
call fcn.00531e36
mov eax, dword [edi]
mov ecx, dword [eax + 0x324]
cmp ecx, 3
je 0x49706a
cmp ecx, 0x10
je 0x49706a
xor eax, eax
cmp ecx, 0xd
sete al
inc eax
jmp 0x49706c
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.00531e36
mov eax, dword [edi]
mov eax, dword [eax + 0x324]
cmp eax, 3
je 0x4970ac
test eax, eax
je 0x4970ac
cmp eax, 0x10
je 0x4970a8
cmp eax, 0x14
je 0x4970a8
mov al, bl
jmp 0x4970af
mov al, 2
jmp 0x4970af
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.00531e36
mov ecx, dword [edi]
lea eax, [esp + 0x304]
push eax
mov ebx, dword [ecx + 0x6d8]
call fcn.004a0d05
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.00531e36
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.00531e36
mov eax, esi
lea ecx, [esp + 0x64]
cdq
push edx
push eax
push edi
call fcn.00531e36
mov edi, dword [esp + 0xac]
mov ebx, dword [edi + 0x6c]
lea esi, [edi + 0x5c]
cmp dword [esi + 0x14], 0x10
jb 0x49715c
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.00531e36
mov eax, ebx
lea ecx, [esp + 0x64]
cdq
push edx
push eax
push esi
call fcn.00531e36
mov eax, dword [edi]
mov eax, dword [eax + 0x58c]
add eax, 0xb8
je 0x4971a1
mov eax, dword [eax + 0xac]
jmp 0x4971a6
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.00531e36
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.00531e36
mov eax, dword [edi]
lea ecx, [esp + 0x64]
push ebx
push 0x10
add eax, 0x248
push eax
call fcn.00531e36
mov eax, dword [edi]
lea ecx, [esp + 0x334]
add eax, 0x348
push eax
call fcn.00407797
push 0x57f98c
lea ecx, [esp + 0x2f0]
mov byte [esp + 0x824], 0xd
call fcn.00401c4a
mov esi, 0x5929b4
mov byte [esp + 0x820], 0xe
mov ecx, esi
call fcn.00401601
push eax
push ebx
push esi
lea ecx, [esp + 0x340]
call fcn.0043a64e
test eax, eax
jne 0x49726a
mov esi, str.collection
push esi
call fcn.0040165c
pop ecx
push eax
push esi
lea ecx, [esp + 0x2f4]
call fcn.00401dc9
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.00531e36
mov eax, ebx
lea ecx, [esp + 0x64]
cdq
push edx
push eax
push esi
call fcn.00531e36
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.00531e36
mov eax, ebx
lea ecx, [esp + 0x64]
cdq
push edx
push eax
push esi
call fcn.00531e36
xor ebx, ebx
lea eax, [esp + 0xa0]
push ebx
push 4
push eax
lea ecx, [esp + 0x70]
mov dword [esp + 0xac], ebx
call fcn.00531e36
lea ecx, [esp + 0x64]
push ebx
cmp byte [edi + 0x39], bl
jne 0x497337
mov eax, dword [edi]
mov eax, dword [eax + 0x58c]
mov al, byte [eax + 0x16d]
mov byte [esp + 0x44], al
xor eax, eax
inc eax
push eax
lea eax, [esp + 0x48]
jmp 0x497348
mov al, byte [0x5cb9fb]
mov byte [esp + 0x38], al
xor eax, eax
inc eax
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00531e36
mov al, byte [0x5cb9fa]
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.00531e36
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.00531e36
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.00531e36
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.00531e36
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.00531e36
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.00531e36
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.00531e36
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.00531e36
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.00531e36
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.00531e36
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.00531e36
mov eax, ebx
lea ecx, [esp + 0x64]
cdq
push edx
push eax
lea eax, [esp + 0x414]
push eax
call fcn.00531e36
mov eax, dword [edi]
push dword [eax + 0x648]
push dword [eax + 0x644]
push dword [edi + 0x18]
push dword [edi + 0x14]
push 0x59301c
push eax
call fcn.0049acc8
movzx eax, si
push eax
movzx eax, byte [esp + 0x37]
push eax
movzx eax, byte [edi + 0x39]
push eax
movzx eax, byte [0x5cb9fa]
push eax
movzx eax, byte [0x5cb9fb]
push eax
push str.seafile
push dword [edi]
call fcn.0049acc8
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 0x497505
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 0x497750
dec eax
je 0x4976fc
dec eax
je 0x497585
dec eax
jne 0x4977b4
lea ecx, [edx + 8]
add ecx, ebx
call fcn.00450f95
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 0x497741
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.0040772e
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.0049acc8
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 0x497619
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xbad_alloc_void_]
mov al, byte [esp + 0xe8]
mov dword [ecx], 0x5930e8
mov dword [ecx + 4], 0x49787f
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.0040772e
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.00446837
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.00445ace
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.00401d3f
jmp 0x4977b4
inc dword [edi + 0x50]
mov byte [edi + 0x59], cl
mov ecx, dword [edi + 0x74]
add ecx, 8
add ecx, ebx
call fcn.00450f95
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.0044983f
jmp 0x4977b4
mov ecx, dword [edi]
push dword [esp + 0x7c]
inc dword [edi + 0x48]
push 0x2c
mov ecx, dword [ecx + 0x590]
call fcn.0044aa76
lea ecx, [edx + 8]
mov esi, eax
add ecx, ebx
call fcn.00450f95
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.0044983f
xor esi, esi
cmp byte [esp + 0xa4], 0
mov edx, 0x57f1e0
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 0x593080
push dword [edi]
call fcn.0049acc8
add esp, 0x1c
lea ecx, [esp + 0x2ec]
xor ebx, ebx
inc ebx
push esi
push ebx
call fcn.00401d3f
push esi
push ebx
lea ecx, [esp + 0x33c]
call fcn.00401d84
push esi
push ebx
lea ecx, [esp + 0x30c]
call fcn.00401d3f
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.0055daac
mov esp, ebp
pop ebp
ret 4