Function at 0x519250
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x536bb1
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
mov eax, dword [0x5c6150]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x40], edi
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 1
call fcn.0051a260
test esi, esi
je 0x519436
cmp byte [esi + 0xc], 0x45
jne 0x519376
cmp byte [esi + 0xd], 0x2d
jne 0x519376
cmp byte [esi + 0xe], 0x53
jne 0x519376
cmp byte [esi + 0xf], 0x61
jne 0x519376
cmp byte [esi + 0x10], 0x66
jne 0x519376
cmp byte [esi + 0x11], 0x65
jne 0x519376
cmp byte [esi + 0x12], 0x4e
jne 0x519376
cmp byte [esi + 0x13], 0x65
jne 0x519376
cmp byte [esi + 0x14], 0x74
jne 0x519376
lea eax, [ebp - 0x58]
mov dword [edi + 0xbc], 0x31
push eax
call fcn.004e2e2c
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.004e4ceb
push dword [ebp - 0x34]
cmp dword [0x5c92e0], 8
mov ecx, 0x5c92cc
push dword [ebp - 0x30]
cmovae ecx, dword [0x5c92cc]
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
push dword [ebp - 0x28]
inc eax
push eax
mov eax, dword [ebp - 0x20]
add eax, 0x76c
push eax
push ecx
push 0x5d2130
push str.__s___s___04d__02d__02d__02d:_02d:_02d_
call fcn.005212c0
push 0x101
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.SafeNetErr_r_n
call fcn.005212c0
add esp, 0x40
xor bl, bl
jmp 0x51a216
cmp byte [esi + 5], 0x46
lea eax, [esi + 5]
jne 0x5193f2
inc eax
cmp byte [eax], 0x61
jne 0x5193f2
inc eax
cmp byte [eax], 0x73
jne 0x5193f2
inc eax
cmp byte [eax], 0x6f
jne 0x5193f2
inc eax
cmp byte [eax], 0x6f
jne 0x5193f2
inc eax
cmp byte [eax], 0x53
jne 0x5193f2
inc eax
cmp byte [eax], 0x65
jne 0x5193f2
inc eax
cmp byte [eax], 0x63
jne 0x5193f2
inc eax
cmp byte [eax], 0x75
jne 0x5193f2
inc eax
cmp byte [eax], 0x72
jne 0x5193f2
inc eax
cmp byte [eax], 0x65
jne 0x5193f2
mov dword [edi + 0xbc], 0x2d
call fcn.00521240
push 0x107
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.fasooErr_r_n
call fcn.005212c0
add esp, 0x10
xor bl, bl
jmp 0x51a216
push 0x21
mov ecx, esi
call fcn.00519100
test al, al
je 0x519436
mov dword [edi + 0xbc], 0x2b
call fcn.00521240
push 0x10d
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.jiamiErr_r_n
call fcn.005212c0
add esp, 0x10
xor bl, bl
jmp 0x51a216
xor cl, cl
mov byte [ebp - 0x35], cl
test esi, esi
je 0x519488
cmp byte [esi], 0x84
jne 0x519488
cmp byte [esi + 1], 0x7d
lea eax, [esi + 1]
jne 0x519488
inc eax
cmp byte [eax], 0x1c
jne 0x519488
mov dword [edi + 0xbc], 0x2f
call fcn.00521240
push 0x114
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.3ByteErr_r_n
call fcn.005212c0
mov cl, 1
add esp, 0x10
mov byte [ebp - 0x35], cl
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov byte [ebp - 4], 4
mov dword [edi + 0x90], esi
cmp dword [esi], 0
sete al
add esi, 4
jne 0x51951b
test cl, cl
jne 0x5194f0
mov dword [edi + 0xbc], 0x34
call fcn.00521240
push 0x126
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.baseptr__NULL_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
mov ebx, dword [esi]
mov dword [edi + 0x8c], ebx
test ebx, ebx
jns 0x519566
test cl, cl
jne 0x519535
mov dword [edi + 0xbc], 0x35
call fcn.00521240
push 0x12f
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [edi + 0x8c]
push str.configsize___0:_d__r_n
call fcn.005212c0
add esp, 0x14
jmp 0x51a1f9
xor edx, edx
movzx eax, al
test ebx, ebx
cmove edx, eax
add esi, 4
mov dword [ebp - 0x44], edx
mov dword [edi], esi
lea eax, [esi + ebx]
mov dword [ebp - 0x54], eax
test eax, eax
jne 0x5195bb
test cl, cl
jne 0x519590
mov dword [edi + 0xbc], 0x36
call fcn.00521240
push 0x13d
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.endptr__Null__r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
mov eax, dword [esi]
add ebx, eax
mov dword [ebp - 0x3c], eax
test eax, eax
jns 0x519602
test cl, cl
jne 0x5195d4
mov dword [edi + 0xbc], 0x37
call fcn.00521240
push 0x146
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [ebp - 0x3c]
push str.keyNum___0:_d__r_n
call fcn.005212c0
add esp, 0x14
jmp 0x51a1f9
mov eax, dword [ebp - 0x44]
xor edx, edx
cmp dword [ebp - 0x3c], edx
movzx eax, al
cmove edx, eax
add esi, 4
jne 0x51964e
test cl, cl
jne 0x519623
mov dword [edi + 0xbc], 0x38
call fcn.00521240
push 0x152
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.baseptrnull_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
mov eax, dword [esi]
add ebx, eax
mov dword [ebp - 0x4c], eax
test eax, eax
jns 0x519695
test cl, cl
jne 0x519667
mov dword [edi + 0xbc], 0x39
call fcn.00521240
push 0x15b
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [ebp - 0x4c]
push str.attrinum___0:_d_r_n
call fcn.005212c0
add esp, 0x14
jmp 0x51a1f9
cmp dword [ebp - 0x4c], 0
movzx eax, dl
mov edx, 0
cmove edx, eax
add esi, 4
jne 0x5196e2
test cl, cl
jne 0x5196b7
mov dword [edi + 0xbc], 0x3a
call fcn.00521240
push 0x167
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.baseptrnull_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
mov eax, dword [esi]
add ebx, eax
mov dword [ebp - 0x50], eax
test eax, eax
jns 0x519729
test cl, cl
jne 0x5196fb
mov dword [edi + 0xbc], 0x3b
call fcn.00521240
push 0x170
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [ebp - 0x50]
push str.datanum___0:_d__r_n
call fcn.005212c0
add esp, 0x14
jmp 0x51a1f9
xor ecx, ecx
movzx eax, dl
cmp dword [ebp - 0x50], ecx
mov dword [ebp - 0x60], 0
cmove ecx, eax
add esi, 4
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0x64], ecx
jle 0x51985a
nop dword [eax + eax]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 5
test esi, esi
je 0x519ad3
movsx eax, word [esi]
mov dword [ebp - 0x30], eax
cmp eax, 0xffffffff
jle 0x519a8d
cmp eax, 0x64
jge 0x519a8d
add esi, 2
je 0x519a71
movsx ecx, word [esi]
add eax, ecx
mov dword [ebp - 0x44], ecx
add ebx, eax
test ecx, ecx
js 0x519a2b
add esi, 2
mov dword [ebp - 0x5c], 0
test ecx, ecx
jle 0x5197e6
test esi, esi
je 0x519990
movsx eax, word [esi]
add ebx, eax
mov dword [ebp - 0x48], eax
cmp eax, 0xc
ja 0x51994a
lea eax, [ebp - 0x48]
add esi, 2
push eax
lea ecx, [ebp - 0x2c]
call fcn.0044b690
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
cmp eax, dword [ebp - 0x44]
jl 0x5197b2
test esi, esi
je 0x519a0c
mov ecx, dword [esi]
mov dword [ebp - 0x20], ecx
add esi, 4
je 0x5199ed
mov edx, dword [esi]
mov dword [ebp - 0x1c], edx
add esi, 4
je 0x5199ce
mov eax, dword [esi]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x18], eax
add esi, 4
je 0x5199af
mov eax, dword [esi]
add esi, 4
mov dword [ebp - 0x14], eax
add eax, dword [ebp - 0x44]
add eax, edx
add eax, ecx
lea ecx, [ebp - 0x88]
add ebx, eax
lea eax, [ebp - 0x30]
push eax
call fcn.004485e0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.00436640
mov eax, dword [ebp - 0x60]
mov edi, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x60], eax
cmp eax, dword [ebp - 0x3c]
jl 0x519750
cmp dword [ebp - 0x4c], 0
mov dword [ebp - 0x44], 0
jle 0x5198c8
test esi, esi
je 0x519bc7
mov ecx, dword [esi]
mov dword [ebp - 0x20], ecx
add esi, 4
je 0x519b8c
mov edx, dword [esi]
mov dword [ebp - 0x1c], edx
add esi, 4
je 0x519b51
mov eax, dword [esi]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x18], eax
add esi, 4
je 0x519b16
mov eax, dword [esi]
add esi, 4
mov dword [ebp - 0x14], eax
add eax, dword [ebp - 0x48]
add eax, edx
add eax, ecx
lea ecx, [ebp - 0x7c]
add ebx, eax
lea eax, [ebp - 0x20]
push eax
call fcn.00448450
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x44], eax
cmp eax, dword [ebp - 0x4c]
jl 0x519867
cmp dword [ebp - 0x50], 0
mov dword [ebp - 0x40], 0
jle 0x5198ff
test esi, esi
je 0x519c02
mov eax, dword [esi]
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x44], eax
add ebx, eax
lea eax, [ebp - 0x44]
add esi, 4
push eax
call fcn.00448340
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x50]
jl 0x5198d5
test ebx, ebx
jne 0x519c3d
cmp byte [ebp - 0x64], bl
je 0x519c3d
cmp byte [ebp - 0x35], bl
jne 0x51991f
mov dword [edi + 0xbc], 0x5a
call fcn.00521240
push 0x21b
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.dict_is_full_of_0_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x51995a
mov dword [edi + 0xbc], 0x41
call fcn.00521240
push 0x1ac
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [ebp - 0x48]
push str.temDataType___ecMinDataType__temDataType___ecMaxDataType:_d__r_n
call fcn.005212c0
add esp, 0x14
lea ecx, [ebp - 0x2c]
call fcn.00436640
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x5199a0
mov dword [edi + 0xbc], 0x40
call fcn.00521240
push 0x1a3
jmp 0x519aed
cmp byte [ebp - 0x35], 0
jne 0x5199bf
mov dword [edi + 0xbc], 0x45
call fcn.00521240
push 0x1d4
jmp 0x519aed
cmp byte [ebp - 0x35], 0
jne 0x5199de
mov dword [edi + 0xbc], 0x44
call fcn.00521240
push 0x1ca
jmp 0x519aed
cmp byte [ebp - 0x35], 0
jne 0x5199fd
mov dword [edi + 0xbc], 0x43
call fcn.00521240
push 0x1c0
jmp 0x519aed
cmp byte [ebp - 0x35], 0
jne 0x519a1c
mov dword [edi + 0xbc], 0x42
call fcn.00521240
push 0x1b6
jmp 0x519aed
cmp byte [ebp - 0x35], 0
jne 0x519a3b
mov dword [edi + 0xbc], 0x3f
call fcn.00521240
push 0x199
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [ebp - 0x44]
push str.datatypenum___0:_d__r_n
call fcn.005212c0
add esp, 0x14
lea ecx, [ebp - 0x2c]
call fcn.00436640
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x519a81
mov dword [edi + 0xbc], 0x3e
call fcn.00521240
push 0x190
jmp 0x519aed
cmp byte [ebp - 0x35], 0
jne 0x519a9d
mov dword [edi + 0xbc], 0x3d
call fcn.00521240
push 0x188
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [ebp - 0x30]
push str.temKey.m_eKeyType___ecMinKeyType__temKey.m_eKeyType___ecMaxKeyType:_d_r_n
call fcn.005212c0
add esp, 0x14
lea ecx, [ebp - 0x2c]
call fcn.00436640
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x519ae3
mov dword [edi + 0xbc], 0x3c
call fcn.00521240
push 0x17f
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.baseptrnull_r_n
call fcn.005212c0
add esp, 0x10
lea ecx, [ebp - 0x2c]
call fcn.00436640
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x519b26
mov dword [edi + 0xbc], 0x49
call fcn.00521240
push 0x201
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.baseptrnull_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x519b61
mov dword [edi + 0xbc], 0x48
call fcn.00521240
push 0x1f7
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.baseptrnull_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x519b9c
mov dword [edi + 0xbc], 0x47
call fcn.00521240
push 0x1ed
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.baseptrnull_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x519bd7
mov dword [edi + 0xbc], 0x46
call fcn.00521240
push 0x1e3
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.baseptrnull_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x519c12
mov dword [edi + 0xbc], 0x4a
call fcn.00521240
push 0x20f
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.baseptrnull_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
cmp dword [ebp - 0x54], esi
je 0x519c7d
cmp byte [ebp - 0x35], 0
jne 0x519c52
mov dword [edi + 0xbc], 0x4b
call fcn.00521240
push 0x223
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.p_endPtr___p_pBasePtr_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
sub esp, 0xc
lea eax, [ebp + 0x1c]
mov ecx, esp
mov dword [ebp - 0x54], esp
push eax
call fcn.004482b0
sub esp, 0xc
mov byte [ebp - 4], 6
lea eax, [ebp + 0x10]
mov dword [ebp - 0x64], esp
mov ecx, esp
push eax
call fcn.004482b0
sub esp, 0xc
mov byte [ebp - 4], 7
lea eax, [ebp - 0x70]
mov dword [ebp - 0x40], esp
mov ecx, esp
push eax
call fcn.004482b0
sub esp, 0xc
mov byte [ebp - 4], 8
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x44], esp
mov ecx, esp
push eax
call fcn.00448560
sub esp, 0xc
mov byte [ebp - 4], 9
lea eax, [ebp - 0x88]
mov ecx, esp
push eax
call fcn.00448800
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.0051a390
test al, al
jne 0x519d2b
cmp byte [ebp - 0x35], al
jne 0x519d00
mov dword [edi + 0xbc], 0x4c
call fcn.00521240
push 0x22a
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.init_false_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
mov dword [edi + 4], esi
test esi, esi
jne 0x519d6d
cmp byte [ebp - 0x35], 0
jne 0x519d42
mov dword [edi + 0xbc], 0x4d
call fcn.00521240
push 0x233
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.header__NULL_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
mov ecx, dword [esi + 4]
cmp ecx, dword [ebp + 0xc]
je 0x519db6
cmp byte [ebp - 0x35], 0
jne 0x519d85
mov dword [edi + 0xbc], 0x4e
call fcn.00521240
push 0x23b
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [ebp + 0xc]
push dword [esi + 4]
push str.header__m_nFomatId___p_nCurFormat__heads_id_is_d__format_id_is__d_r_n
call fcn.005212c0
add esp, 0x18
jmp 0x51a1f9
mov eax, dword [esi]
add eax, ecx
add ebx, eax
mov eax, dword [esi + 8]
test eax, eax
jg 0x519e01
cmp byte [ebp - 0x35], 0
jne 0x519dd3
mov dword [edi + 0xbc], 0x4f
call fcn.00521240
push 0x243
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [esi + 8]
push str.header__m_nTotalSize___0:_d_r_n
call fcn.005212c0
add esp, 0x14
jmp 0x51a1f9
mov edx, dword [esi + 0xc]
add ebx, eax
test edx, edx
js 0x51a1ba
mov eax, dword [esi + 0x10]
test eax, eax
js 0x51a1ba
mov ecx, dword [esi + 0x14]
test ecx, ecx
js 0x51a1ba
add ecx, eax
add ecx, edx
lea eax, [ecx + 2]
lea eax, [eax + eax*2]
shl eax, 2
cmp eax, dword [edi + 0x88]
je 0x519e83
cmp byte [ebp - 0x35], 0
jne 0x519e49
mov dword [edi + 0xbc], 0x51
call fcn.00521240
push 0x252
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [edi + 0x88]
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [esi + 0xc]
push str.sizeof_t_baseDictHeader____header__m_nKeyNum__header__m_nAttriNum__header__m_nDataNum___12___m_nHeadSize__keynum:_d__attrinum:_d__datanum:_d__headsize:_d_r_n
call fcn.005212c0
add esp, 0x20
jmp 0x51a1f9
add ebx, ecx
mov dword [ebp - 0x40], 0
lea ecx, [esi + 0x18]
mov dword [ebp - 0x3c], ecx
test edx, edx
jle 0x519ec9
test ecx, ecx
je 0x519f9b
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x34]
call fcn.004233b0
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 8]
add eax, dword [ecx + 4]
add eax, dword [ecx]
add ecx, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, dword [esi + 0xc]
jl 0x519e96
cmp dword [esi + 0x10], 0
mov dword [ebp - 0x40], 0
jle 0x519f09
test ecx, ecx
je 0x519fd6
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x40]
call fcn.004233b0
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 8]
add eax, dword [ecx + 4]
add eax, dword [ecx]
add ecx, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, dword [esi + 0x10]
jl 0x519ed6
cmp dword [esi + 0x14], 0
mov dword [ebp - 0x40], 0
jle 0x519f49
test ecx, ecx
je 0x51a011
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x4c]
call fcn.004233b0
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 8]
add eax, dword [ecx + 4]
add eax, dword [ecx]
add ecx, 0xc
add ebx, eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp eax, dword [esi + 0x14]
jl 0x519f16
mov eax, dword [edi + 4]
mov edx, dword [edi + 0x88]
add eax, edx
cmp ecx, eax
je 0x51a04c
cmp byte [ebp - 0x35], 0
jne 0x519f6c
mov dword [edi + 0xbc], 0x55
call fcn.00521240
push 0x284
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [edi + 0x88]
push dword [edi + 4]
push dword [ebp - 0x3c]
push str.tail___m_pHeader__m_nHeadSize__tailptr:_d__headptr:_d__headsize:_d_r_n
jmp 0x51a1f1
cmp byte [ebp - 0x35], 0
jne 0x519fab
mov dword [edi + 0xbc], 0x52
call fcn.00521240
push 0x25d
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.tail__NULL_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x519fe6
mov dword [edi + 0xbc], 0x53
call fcn.00521240
push 0x26a
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.tail__NULL_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x51a021
mov dword [edi + 0xbc], 0x54
call fcn.00521240
push 0x277
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.tail__NULL_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
mov eax, dword [edi + 0x90]
not ebx
cmp ebx, dword [eax]
je 0x51a09c
cmp byte [ebp - 0x35], 0
jne 0x51a068
mov dword [edi + 0xbc], 0x56
call fcn.00521240
push 0x28c
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
mov eax, dword [edi + 0x90]
push dword [eax]
push ebx
push str.nCheckNum___m_pCheckNum__checknum:_d__mpChecknum:_d_r_n
call fcn.005212c0
add esp, 0x18
jmp 0x51a1f9
lea ecx, [edx + esi]
mov dword [edi + 8], ecx
test ecx, ecx
jne 0x51a0e0
cmp byte [ebp - 0x35], cl
jne 0x51a0b5
mov dword [edi + 0xbc], 0x57
call fcn.00521240
push 0x294
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.m_pBuff__NULL_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
mov eax, dword [esi + 8]
xor esi, esi
add eax, ecx
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x14]
sub eax, dword [edi + 0x10]
test eax, 0xffffffe0
jle 0x51a135
push esi
mov ecx, edi
call fcn.00517d50
mov ebx, eax
test ebx, ebx
js 0x51a181
mov ecx, dword [edi + 8]
add ecx, ebx
mov dword [ebp - 0x54], ecx
je 0x51a146
lea eax, [ebp - 0x54]
push eax
lea ecx, [edi + 0x70]
call fcn.004233b0
push esi
mov ecx, edi
call fcn.00517f70
mov eax, dword [edi + 0x14]
inc esi
sub eax, dword [edi + 0x10]
sar eax, 5
cmp esi, eax
jl 0x51a0f7
mov dword [edi + 0xbc], 0
mov bl, 1
jmp 0x51a1fb
cmp byte [ebp - 0x35], 0
jne 0x51a156
mov dword [edi + 0xbc], 0x59
call fcn.00521240
push 0x2a8
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push str.pTem__NULL_r_n
call fcn.005212c0
add esp, 0x10
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x51a191
mov dword [edi + 0xbc], 0x58
call fcn.00521240
push 0x2a0
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push ebx
push str.nHashOft___0:_d_r_n
call fcn.005212c0
add esp, 0x14
jmp 0x51a1f9
cmp byte [ebp - 0x35], 0
jne 0x51a1ca
mov dword [edi + 0xbc], 0x50
call fcn.00521240
push 0x24b
push str.t_baseDict::AttachImpl
push str.__S_L:_d__
call fcn.005212c0
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [esi + 0xc]
push str.header__m_nKeyNum___0__header__m_nAttriNum___0__header__m_nDataNum___0__keynum:_d__attrinum:_d__datanum:_d_r_n
call fcn.005212c0
add esp, 0x1c
xor bl, bl
lea ecx, [ebp - 0x70]
call fcn.00436640
lea ecx, [ebp - 0x7c]
call fcn.00448a50
lea ecx, [ebp - 0x88]
call fcn.00448bd0
lea ecx, [ebp + 0x10]
call fcn.00436640
lea ecx, [ebp + 0x1c]
call fcn.00436640
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004d6cfd
mov esp, ebp
pop ebp
ret 0x20