Function at 0x441670
Capabilities:
Contain obfuscated stackstrings
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54193c
mov eax, dword fs:[0]
push eax
mov eax, 0xd490
call fcn.00489eb0
mov eax, dword [0x580280]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xd3d0], ecx
mov ecx, dword [ebp - 0xd3d0]
add ecx, 0x10
call fcn.004332c0
mov eax, dword [ebp - 0xd3d0]
mov ecx, dword [eax + 0xc]
call fcn.0041f630
test eax, eax
jne 0x4416cc
xor al, al
jmp 0x443136
push 0x104
push 0
lea ecx, [ebp - 0x4ac]
push ecx
call fcn.00486c20
add esp, 0xc
push 0x50
call fcn.0047b43a
add esp, 4
mov dword [ebp - 0xcfd4], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0xcfd4], 0
je 0x441715
mov ecx, dword [ebp - 0xcfd4]
call fcn.00459160
mov dword [ebp - 0xd3d4], eax
jmp 0x44171f
mov dword [ebp - 0xd3d4], 0
mov edx, dword [ebp - 0xd3d4]
mov dword [ebp - 0xcfd0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xcfd0]
mov dword [ebp - 0x280], eax
call fcn.004058c0
mov ecx, eax
call fcn.00447800
mov dword [ebp - 0x27c], eax
mov byte [ebp - 0x25c], 0
push 0x103
push 0
lea ecx, [ebp - 0x25b]
push ecx
call fcn.00486c20
add esp, 0xc
lea edx, [ebp - 0x25c]
push edx
mov eax, dword [ebp - 0x27c]
push eax
call fcn.0044a710
add esp, 8
mov byte [ebp - 0x14c], 0
push 0x103
push 0
lea ecx, [ebp - 0x14b]
push ecx
call fcn.00486c20
add esp, 0xc
mov byte [ebp - 0x5b4], 0
push 0x103
push 0
lea edx, [ebp - 0x5b3]
push edx
call fcn.00486c20
add esp, 0xc
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x5b4]
push ecx
call fcn.00486b10
add esp, 8
push 0x550d8c
lea edx, [ebp - 0x5b4]
push edx
call fcn.00486b20
add esp, 8
lea eax, [ebp - 0x5b4]
push eax
push 0x104
lea ecx, [ebp - 0x14c]
push ecx
push 0x550d9c
push 0x550dac
push 0x550dbc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x550dc8
lea ecx, [ebp - 0x2f8]
call fcn.00405f30
mov dword [ebp - 4], 1
lea edx, [ebp - 0x14c]
push edx
lea ecx, [ebp - 0x2f8]
call fcn.00404280
push 0x550dd0
lea ecx, [ebp - 0x2f8]
call fcn.00404280
push 0x550dd4
lea ecx, [ebp - 0x2f8]
call fcn.00404280
push 0x550de0
lea ecx, [ebp - 0x2f8]
call fcn.00404280
push str.tongbu_mobile_add
lea ecx, [ebp - 0x2f8]
call fcn.00404280
push 0
lea ecx, [ebp - 0x3a4]
call fcn.00465230
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c0]
call fcn.00404140
mov byte [ebp - 4], 3
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x390], 0
lea eax, [ebp - 0x5bc]
push eax
mov ecx, dword [ebp - 0xd3d0]
mov ecx, dword [ecx + 0xc]
call fcn.0045de30
jmp 0x4418ce
lea ecx, [ebp - 0x5bc]
call fcn.0043ca20
lea edx, [ebp - 0xcfdc]
push edx
mov eax, dword [ebp - 0xd3d0]
mov ecx, dword [eax + 0xc]
call fcn.0042ffe0
push eax
lea ecx, [ebp - 0x5bc]
call fcn.0043ca40
movzx ecx, al
test ecx, ecx
je 0x442cd2
push 0x550df8
lea ecx, [ebp - 0xcff8]
call fcn.00401280
mov byte [ebp - 4], 4
lea edx, [ebp - 0xcff8]
push edx
lea eax, [ebp - 0x628]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
call fcn.00417580
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xcff8]
call fcn.00406040
lea ecx, [ebp - 0x628]
call fcn.0041f510
test eax, eax
je 0x441961
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x628]
call fcn.00406040
jmp 0x4418c3
push 0
lea ecx, [ebp - 0x60c]
call fcn.00465230
mov byte [ebp - 4], 7
call fcn.004058c0
mov ecx, eax
call fcn.004478c0
push eax
lea ecx, [ebp - 0x5f8]
call fcn.00401280
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xd3d0]
mov edx, dword [ecx + 4]
push edx
push str.ID_d
lea eax, [ebp - 0x648]
push eax
call fcn.00487ebf
add esp, 0xc
lea ecx, [ebp - 0x5f8]
call fcn.004012c0
push eax
push 0
lea ecx, [ebp - 0x648]
push ecx
push str.UserNodeUpdateTime
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x5dc], eax
mov edx, dword [ebp - 0xd3d0]
mov eax, dword [ebp - 0x5dc]
mov dword [edx + 8], eax
push 0x550e34
lea ecx, [ebp - 0xd014]
call fcn.00401280
mov byte [ebp - 4], 9
lea ecx, [ebp - 0xd014]
push ecx
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0xf8
call fcn.0040cf00
push eax
lea ecx, [ebp - 0x5d8]
call fcn.00407860
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xd014]
call fcn.00406040
push str.NeedUpDateToSer
lea edx, [ebp - 0x5d8]
push edx
call fcn.0043dac0
add esp, 8
movzx eax, al
test eax, eax
je 0x441a9b
mov dword [ebp - 0x284], 1
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5d8]
call fcn.00406040
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x5f8]
call fcn.00406040
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x60c]
call fcn.00465860
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x628]
call fcn.00406040
jmp 0x4418c3
push str.NeedDelete
lea ecx, [ebp - 0x5d8]
push ecx
call fcn.0043dac0
add esp, 8
movzx edx, al
test edx, edx
je 0x441b06
mov dword [ebp - 0x390], 1
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5d8]
call fcn.00406040
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x5f8]
call fcn.00406040
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x60c]
call fcn.00465860
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x628]
call fcn.00406040
jmp 0x4418c3
push str.NeedUpload
lea eax, [ebp - 0x5d8]
push eax
call fcn.0043dac0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x442c91
mov edx, dword [ebp - 0xd3d0]
mov eax, dword [edx + 4]
push eax
push 0x550e9c
lea ecx, [ebp - 0x4ac]
push ecx
call fcn.00487c8c
add esp, 0xc
lea ecx, [ebp - 0x664]
call fcn.00405f00
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov edx, dword [eax + 0x1c]
add edx, 0x24
push edx
lea eax, [ebp - 0xd030]
push eax
call fcn.0044efc0
add esp, 8
mov dword [ebp - 0xd3d8], eax
mov ecx, dword [ebp - 0xd3d8]
mov dword [ebp - 0xd3dc], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0xd3dc]
push edx
lea ecx, [ebp - 0x664]
call fcn.00404260
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xd030]
call fcn.00405fb0
lea eax, [ebp - 0x664]
push eax
lea ecx, [ebp - 0xd044]
call fcn.00465560
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xd044]
push ecx
push str.title
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xd044]
call fcn.00465860
lea ecx, [ebp - 0x6dc]
call fcn.00405f00
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov edx, dword [eax + 0x1c]
add edx, 0x40
push edx
lea eax, [ebp - 0xd060]
push eax
call fcn.0044efc0
add esp, 8
mov dword [ebp - 0xd3e0], eax
mov ecx, dword [ebp - 0xd3e0]
mov dword [ebp - 0xd3e4], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0xd3e4]
push edx
lea ecx, [ebp - 0x6dc]
call fcn.00404260
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd060]
call fcn.00405fb0
lea eax, [ebp - 0x6dc]
push eax
lea ecx, [ebp - 0xd074]
call fcn.00465560
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xd074]
push ecx
push str.content
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd074]
call fcn.00465860
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov edx, dword [eax + 0x1c]
cmp dword [edx + 0x5c], 0
je 0x441cb7
mov dword [ebp - 0xd3e8], 0x550eb8
jmp 0x441cc1
mov dword [ebp - 0xd3e8], 0x550ebc
mov eax, dword [ebp - 0xd3e8]
push eax
lea ecx, [ebp - 0xd084]
call fcn.004654a0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xd084]
push ecx
push str.is_day
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd084]
call fcn.00465860
push 0x24
push 0
lea edx, [ebp - 0x690]
push edx
call fcn.00486c20
add esp, 0xc
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0x68
call fcn.0041f510
test eax, eax
je 0x441e80
push 0x550ec0
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0x68
call fcn.0040ce70
test eax, eax
je 0x441e80
push 4
push 0
lea eax, [ebp - 0xd0a0]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0x68
call fcn.0041f580
mov dword [ebp - 0xd3ec], eax
mov ecx, dword [ebp - 0xd3ec]
mov dword [ebp - 0xd3f0], ecx
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xd3f0]
call fcn.004012c0
push eax
call fcn.00487d3d
add esp, 4
sub eax, 0x76c
mov dword [ebp - 0x67c], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd0a0]
call fcn.00406040
push 2
push 5
lea edx, [ebp - 0xd0bc]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0x68
call fcn.0041f580
mov dword [ebp - 0xd3f4], eax
mov eax, dword [ebp - 0xd3f4]
mov dword [ebp - 0xd3f8], eax
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0xd3f8]
call fcn.004012c0
push eax
call fcn.00487d3d
add esp, 4
sub eax, 1
mov dword [ebp - 0x680], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd0bc]
call fcn.00406040
push 2
push 8
lea ecx, [ebp - 0xd0d8]
push ecx
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0x68
call fcn.0041f580
mov dword [ebp - 0xd3fc], eax
mov edx, dword [ebp - 0xd3fc]
mov dword [ebp - 0xd400], edx
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0xd400]
call fcn.004012c0
push eax
call fcn.00487d3d
add esp, 4
mov dword [ebp - 0x684], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd0d8]
call fcn.00406040
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0x84
call fcn.0041f510
test eax, eax
je 0x441f8d
push 0x550ec8
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0x84
call fcn.0040ce70
test eax, eax
je 0x441f8d
push 2
push 0
lea eax, [ebp - 0xd0f4]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0x84
call fcn.0041f580
mov dword [ebp - 0xd404], eax
mov ecx, dword [ebp - 0xd404]
mov dword [ebp - 0xd408], ecx
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0xd408]
call fcn.004012c0
push eax
call fcn.00487d3d
add esp, 4
mov dword [ebp - 0x688], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd0f4]
call fcn.00406040
push 2
push 3
lea edx, [ebp - 0xd110]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0x84
call fcn.0041f580
mov dword [ebp - 0xd40c], eax
mov eax, dword [ebp - 0xd40c]
mov dword [ebp - 0xd410], eax
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0xd410]
call fcn.004012c0
push eax
call fcn.00487d3d
add esp, 4
mov dword [ebp - 0x68c], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd110]
call fcn.00406040
lea ecx, [ebp - 0x690]
push ecx
call fcn.00443150
add esp, 4
mov dword [ebp - 0x69c], eax
mov dword [ebp - 0x698], edx
push 0x104
push 0
lea edx, [ebp - 0x4ac]
push edx
call fcn.00486c20
add esp, 0xc
mov eax, dword [ebp - 0x698]
push eax
mov ecx, dword [ebp - 0x69c]
push ecx
push 0x550ed0
lea edx, [ebp - 0x4ac]
push edx
call fcn.00487c8c
add esp, 0x10
lea eax, [ebp - 0x4ac]
push eax
lea ecx, [ebp - 0xd124]
call fcn.004654a0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xd124]
push ecx
push str.start_time
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd124]
call fcn.00465860
push 0x24
push 0
lea edx, [ebp - 0x6c0]
push edx
call fcn.00486c20
add esp, 0xc
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0xa0
call fcn.0041f510
test eax, eax
je 0x4421ae
push 0x550ee0
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0xa0
call fcn.0040ce70
test eax, eax
je 0x4421ae
push 4
push 0
lea eax, [ebp - 0xd140]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0xa0
call fcn.0041f580
mov dword [ebp - 0xd414], eax
mov ecx, dword [ebp - 0xd414]
mov dword [ebp - 0xd418], ecx
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0xd418]
call fcn.004012c0
push eax
call fcn.00487d3d
add esp, 4
sub eax, 0x76c
mov dword [ebp - 0x6ac], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd140]
call fcn.00406040
push 2
push 5
lea edx, [ebp - 0xd15c]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0xa0
call fcn.0041f580
mov dword [ebp - 0xd41c], eax
mov eax, dword [ebp - 0xd41c]
mov dword [ebp - 0xd420], eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0xd420]
call fcn.004012c0
push eax
call fcn.00487d3d
add esp, 4
sub eax, 1
mov dword [ebp - 0x6b0], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd15c]
call fcn.00406040
push 2
push 8
lea ecx, [ebp - 0xd178]
push ecx
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0xa0
call fcn.0041f580
mov dword [ebp - 0xd424], eax
mov edx, dword [ebp - 0xd424]
mov dword [ebp - 0xd428], edx
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0xd428]
call fcn.004012c0
push eax
call fcn.00487d3d
add esp, 4
mov dword [ebp - 0x6b4], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd178]
call fcn.00406040
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0xbc
call fcn.0041f510
test eax, eax
je 0x4422bb
push 0x550ee8
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0xbc
call fcn.0040ce70
test eax, eax
je 0x4422bb
push 2
push 0
lea eax, [ebp - 0xd194]
push eax
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0xbc
call fcn.0041f580
mov dword [ebp - 0xd42c], eax
mov ecx, dword [ebp - 0xd42c]
mov dword [ebp - 0xd430], ecx
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0xd430]
call fcn.004012c0
push eax
call fcn.00487d3d
add esp, 4
mov dword [ebp - 0x6b8], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd194]
call fcn.00406040
push 2
push 3
lea edx, [ebp - 0xd1b0]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
add ecx, 0xbc
call fcn.0041f580
mov dword [ebp - 0xd434], eax
mov eax, dword [ebp - 0xd434]
mov dword [ebp - 0xd438], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0xd438]
call fcn.004012c0
push eax
call fcn.00487d3d
add esp, 4
mov dword [ebp - 0x6bc], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd1b0]
call fcn.00406040
lea ecx, [ebp - 0x6c0]
push ecx
call fcn.00443150
add esp, 4
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x668], edx
push 0x104
push 0
lea edx, [ebp - 0x4ac]
push edx
call fcn.00486c20
add esp, 0xc
mov eax, dword [ebp - 0x668]
push eax
mov ecx, dword [ebp - 0x66c]
push ecx
push 0x550ef0
lea edx, [ebp - 0x4ac]
push edx
call fcn.00487c8c
add esp, 0x10
lea eax, [ebp - 0x4ac]
push eax
lea ecx, [ebp - 0xd1c4]
call fcn.004654a0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0xd1c4]
push ecx
push str.end_time
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd1c4]
call fcn.00465860
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov edx, dword [eax + 0x1c]
cmp dword [edx + 0x60], 0
je 0x442371
mov dword [ebp - 0xd43c], 0x550f0c
jmp 0x44237b
mov dword [ebp - 0xd43c], 0x550f10
mov eax, dword [ebp - 0xd43c]
push eax
lea ecx, [ebp - 0xd1d4]
call fcn.004654a0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0xd1d4]
push ecx
push str.is_remind
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd1d4]
call fcn.00465860
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov edx, dword [eax + 0x1c]
mov eax, dword [edx + 0x64]
push eax
lea ecx, [ebp - 0xd1e4]
call fcn.004653a0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0xd1e4]
push ecx
push str.remind
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xd1e4]
call fcn.00465860
mov dword [ebp - 0x6e0], 0
jmp 0x442427
mov edx, dword [ebp - 0x6e0]
add edx, 1
mov dword [ebp - 0x6e0], edx
cmp dword [ebp - 0x6e0], 0xf
jge 0x442c44
push 0x104
push 0
lea eax, [ebp - 0x4ac]
push eax
call fcn.00486c20
add esp, 0xc
mov byte [ebp - 0x71c], 0
xor ecx, ecx
mov dword [ebp - 0x71b], ecx
mov dword [ebp - 0x717], ecx
mov dword [ebp - 0x713], ecx
mov dword [ebp - 0x70f], ecx
mov word [ebp - 0x70b], cx
mov byte [ebp - 0x709], cl
mov edx, dword [ebp - 0x6e0]
push edx
push str.Reverse_d
lea eax, [ebp - 0x708]
push eax
call fcn.00487ebf
add esp, 0xc
lea ecx, [ebp - 0x708]
push ecx
lea ecx, [ebp - 0xd200]
call fcn.00401280
mov byte [ebp - 4], 0x21
lea edx, [ebp - 0xd200]
push edx
lea eax, [ebp - 0x738]
push eax
call fcn.004174e0
add esp, 8
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xd200]
call fcn.00406040
lea ecx, [ebp - 0x71c]
push ecx
lea ecx, [ebp - 0x738]
call fcn.004012c0
push eax
call fcn.0044a710
add esp, 8
lea edx, [ebp - 0x71c]
push edx
call fcn.00487780
add esp, 4
test eax, eax
je 0x442c30
push str.OtherKeys
lea eax, [ebp - 0x71c]
push eax
call fcn.00489e20
add esp, 8
test eax, eax
jne 0x442b6d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd204], esp
lea edx, [ebp - 0x738]
push edx
push ecx
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
call fcn.00417580
mov dword [ebp - 0xd440], eax
mov eax, dword [ebp - 0xd440]
mov dword [ebp - 0xd444], eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x74c]
push ecx
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov byte [ebp - 4], 0x23
mov ecx, dword [eax + 0x1c]
call fcn.00417910
mov dword [ebp - 0xd448], eax
mov byte [ebp - 4], 0x25
push 0
lea ecx, [ebp - 0xd21c]
call fcn.004653a0
mov byte [ebp - 4], 0x26
lea edx, [ebp - 0xd21c]
push edx
lea ecx, [ebp - 0x74c]
call fcn.00465ef0
mov byte [ebp - 0xd205], al
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xd21c]
call fcn.00465860
movzx eax, byte [ebp - 0xd205]
test eax, eax
je 0x442b59
xor ecx, ecx
mov word [ebp - 0xa7c4], cx
push 0x4ffe
push 0
lea edx, [ebp - 0xa7c2]
push edx
call fcn.00486c20
add esp, 0xc
lea eax, [ebp - 0xa7c4]
push eax
lea ecx, [ebp - 0xd238]
push ecx
push 0x550f3c
lea ecx, [ebp - 0x74c]
call fcn.00467580
mov ecx, eax
call fcn.00465f30
mov dword [ebp - 0xd44c], eax
mov edx, dword [ebp - 0xd44c]
mov dword [ebp - 0xd450], edx
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0xd450]
call fcn.00405ff0
push eax
call fcn.0044a6b0
add esp, 8
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xd238]
call fcn.00405fb0
lea eax, [ebp - 0xa7c4]
push eax
lea ecx, [ebp - 0x78c]
call fcn.00401280
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x78c]
push ecx
lea edx, [ebp - 0x57c4]
push edx
call fcn.0044efc0
add esp, 8
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0x57c4]
push eax
lea ecx, [ebp - 0xd24c]
call fcn.00465560
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0xd24c]
push ecx
push 0x550f40
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd24c]
call fcn.00465860
lea edx, [ebp - 0xa7c4]
push edx
lea eax, [ebp - 0xd268]
push eax
push 0x550f44
lea ecx, [ebp - 0x74c]
call fcn.00467580
mov ecx, eax
call fcn.00465f30
mov dword [ebp - 0xd454], eax
mov ecx, dword [ebp - 0xd454]
mov dword [ebp - 0xd458], ecx
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0xd458]
call fcn.00405ff0
push eax
call fcn.0044a6b0
add esp, 8
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd268]
call fcn.00405fb0
lea edx, [ebp - 0xa7c4]
push edx
lea ecx, [ebp - 0x78c]
call fcn.0040ce50
lea eax, [ebp - 0x78c]
push eax
lea ecx, [ebp - 0xd284]
push ecx
call fcn.0044efc0
add esp, 8
mov dword [ebp - 0xd45c], eax
mov edx, dword [ebp - 0xd45c]
mov dword [ebp - 0xd460], edx
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0xd460]
push eax
lea ecx, [ebp - 0x57c4]
call fcn.00404260
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd284]
call fcn.00405fb0
lea ecx, [ebp - 0x57c4]
push ecx
lea ecx, [ebp - 0xd294]
call fcn.00465560
mov byte [ebp - 4], 0x2d
lea edx, [ebp - 0xd294]
push edx
push 0x550f4c
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd294]
call fcn.00465860
lea eax, [ebp - 0xa7c4]
push eax
lea ecx, [ebp - 0xd2b0]
push ecx
push 0x550f54
lea ecx, [ebp - 0x74c]
call fcn.00467580
mov ecx, eax
call fcn.00465f30
mov dword [ebp - 0xd464], eax
mov edx, dword [ebp - 0xd464]
mov dword [ebp - 0xd468], edx
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0xd468]
call fcn.00405ff0
push eax
call fcn.0044a6b0
add esp, 8
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd2b0]
call fcn.00405fb0
lea eax, [ebp - 0xa7c4]
push eax
lea ecx, [ebp - 0x78c]
call fcn.0040ce50
lea ecx, [ebp - 0x78c]
push ecx
lea edx, [ebp - 0xd2cc]
push edx
call fcn.0044efc0
add esp, 8
mov dword [ebp - 0xd46c], eax
mov eax, dword [ebp - 0xd46c]
mov dword [ebp - 0xd470], eax
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0xd470]
push ecx
lea ecx, [ebp - 0x57c4]
call fcn.00404260
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd2cc]
call fcn.00405fb0
lea edx, [ebp - 0x57c4]
push edx
lea ecx, [ebp - 0xd2dc]
call fcn.00465560
mov byte [ebp - 4], 0x30
lea eax, [ebp - 0xd2dc]
push eax
push str.type_id
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd2dc]
call fcn.00465860
lea ecx, [ebp - 0xa7c4]
push ecx
lea edx, [ebp - 0xd2f8]
push edx
push 0x550f64
lea ecx, [ebp - 0x74c]
call fcn.00467580
mov ecx, eax
call fcn.00465f30
mov dword [ebp - 0xd474], eax
mov eax, dword [ebp - 0xd474]
mov dword [ebp - 0xd478], eax
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0xd478]
call fcn.00405ff0
push eax
call fcn.0044a6b0
add esp, 8
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd2f8]
call fcn.00405fb0
lea ecx, [ebp - 0xa7c4]
push ecx
lea ecx, [ebp - 0x78c]
call fcn.0040ce50
lea edx, [ebp - 0x78c]
push edx
lea eax, [ebp - 0xd314]
push eax
call fcn.0044efc0
add esp, 8
mov dword [ebp - 0xd47c], eax
mov ecx, dword [ebp - 0xd47c]
mov dword [ebp - 0xd480], ecx
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0xd480]
push edx
lea ecx, [ebp - 0x57c4]
call fcn.00404260
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd314]
call fcn.00405fb0
lea eax, [ebp - 0x57c4]
push eax
lea ecx, [ebp - 0xd324]
call fcn.00465560
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0xd324]
push ecx
push str.color_id
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd324]
call fcn.00465860
lea edx, [ebp - 0xa7c4]
push edx
lea eax, [ebp - 0xd340]
push eax
push 0x550f7c
lea ecx, [ebp - 0x74c]
call fcn.00467580
mov ecx, eax
call fcn.00465f30
mov dword [ebp - 0xd484], eax
mov ecx, dword [ebp - 0xd484]
mov dword [ebp - 0xd488], ecx
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0xd488]
call fcn.00405ff0
push eax
call fcn.0044a6b0
add esp, 8
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd340]
call fcn.00405fb0
lea edx, [ebp - 0xa7c4]
push edx
lea ecx, [ebp - 0x78c]
call fcn.0040ce50
lea eax, [ebp - 0x78c]
push eax
lea ecx, [ebp - 0xd35c]
push ecx
call fcn.0044efc0
add esp, 8
mov dword [ebp - 0xd48c], eax
mov edx, dword [ebp - 0xd48c]
mov dword [ebp - 0xd490], edx
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0xd490]
push eax
lea ecx, [ebp - 0x57c4]
call fcn.00404260
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd35c]
call fcn.00405fb0
lea ecx, [ebp - 0x57c4]
push ecx
lea ecx, [ebp - 0xd36c]
call fcn.00465560
mov byte [ebp - 4], 0x36
lea edx, [ebp - 0xd36c]
push edx
push str.new_type
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0xd36c]
call fcn.00465860
lea ecx, [ebp - 0x770]
call fcn.0046ec20
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0x60c]
push eax
lea ecx, [ebp - 0x57a8]
push ecx
lea ecx, [ebp - 0x770]
call fcn.0046ecb0
mov byte [ebp - 4], 0x38
xor edx, edx
mov word [ebp - 0x578c], dx
push 0x4ffe
push 0
lea eax, [ebp - 0x578a]
push eax
call fcn.00486c20
add esp, 0xc
lea ecx, [ebp - 0x578c]
push ecx
lea ecx, [ebp - 0x57a8]
call fcn.00405ff0
push eax
call fcn.0044a7a0
add esp, 8
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x57a8]
call fcn.00405fb0
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x770]
call fcn.00404090
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x57c4]
call fcn.00405fb0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x78c]
call fcn.00406040
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x74c]
call fcn.00465860
jmp 0x442c30
mov byte [ebp - 0xcfc4], 0
push 0x27ff
push 0
lea edx, [ebp - 0xcfc3]
push edx
call fcn.00486c20
add esp, 0xc
lea eax, [ebp - 0xcfc4]
push eax
lea ecx, [ebp - 0x738]
push ecx
lea edx, [ebp - 0xd388]
push edx
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov ecx, dword [eax + 0x1c]
call fcn.00417580
mov dword [ebp - 0xd494], eax
mov eax, dword [ebp - 0xd494]
mov dword [ebp - 0xd498], eax
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0xd498]
call fcn.004012c0
push eax
call fcn.0044a710
add esp, 8
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xd388]
call fcn.00406040
lea ecx, [ebp - 0xcfc4]
push ecx
lea ecx, [ebp - 0xd39c]
call fcn.004654a0
mov byte [ebp - 4], 0x3a
lea edx, [ebp - 0xd39c]
push edx
lea eax, [ebp - 0x71c]
push eax
lea ecx, [ebp - 0x60c]
call fcn.00467580
mov ecx, eax
call fcn.00465910
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xd39c]
call fcn.00465860
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x738]
call fcn.00406040
jmp 0x442418
lea ecx, [ebp - 0x60c]
push ecx
lea ecx, [ebp - 0x3a4]
call fcn.004678f0
lea ecx, [ebp - 0x5bc]
call fcn.0041f9f0
mov edx, dword [eax + 0x1c]
push edx
mov ecx, dword [ebp - 0xd3d0]
add ecx, 0x10
call fcn.004043f0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x6dc]
call fcn.00405fb0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x664]
call fcn.00405fb0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x5d8]
call fcn.00406040
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x5f8]
call fcn.00406040
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x60c]
call fcn.00465860
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x628]
call fcn.00406040
jmp 0x4418c3
lea ecx, [ebp - 0x38]
call fcn.0046ec20
mov byte [ebp - 4], 0x3b
lea eax, [ebp - 0x3a4]
push eax
lea ecx, [ebp - 0x388]
push ecx
lea ecx, [ebp - 0x38]
call fcn.0046ecb0
mov byte [ebp - 4], 0x3c
push str.data
lea ecx, [ebp - 0x2c0]
call fcn.00405fd0
lea edx, [ebp - 0x388]
push edx
lea ecx, [ebp - 0x2a4]
call fcn.00404260
lea eax, [ebp - 0x2c0]
push eax
mov ecx, dword [ebp - 0x280]
call fcn.004593c0
mov byte [ebp - 0x2d8], 0
xor ecx, ecx
mov dword [ebp - 0x2d7], ecx
mov dword [ebp - 0x2d3], ecx
mov dword [ebp - 0x2cf], ecx
mov dword [ebp - 0x2cb], ecx
mov word [ebp - 0x2c7], cx
mov byte [ebp - 0x2c5], cl
mov edx, dword [ebp - 0xd3d0]
mov eax, dword [edx + 4]
push eax
push 0x550f9c
lea ecx, [ebp - 0x2d8]
push ecx
call fcn.00487c8c
add esp, 0xc
push 0x550fa0
lea ecx, [ebp - 0x2c0]
call fcn.00405fd0
lea edx, [ebp - 0x2d8]
push edx
lea ecx, [ebp - 0x2a4]
call fcn.00405fd0
lea eax, [ebp - 0x2c0]
push eax
mov ecx, dword [ebp - 0x280]
call fcn.004593c0
push 0x550fa4
lea ecx, [ebp - 0x2c0]
call fcn.00405fd0
push 0x550fac
lea ecx, [ebp - 0x2a4]
call fcn.00405fd0
lea ecx, [ebp - 0x2c0]
push ecx
mov ecx, dword [ebp - 0x280]
call fcn.004593c0
push 0
call fcn.00443170
add esp, 4
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], edx
lea ecx, [ebp - 0x2fc]
call fcn.00402870
mov byte [ebp - 4], 0x3d
mov edx, dword [ebp - 0x150]
push edx
mov eax, dword [ebp - 0x154]
push eax
push 0x550fb4
lea ecx, [ebp - 0x2fc]
push ecx
call fcn.00405a00
add esp, 0x10
push 0x550fb8
lea ecx, [ebp - 0x2c0]
call fcn.00405fd0
lea ecx, [ebp - 0x2fc]
call fcn.00404550
push eax
lea ecx, [ebp - 0x2a4]
call fcn.00405fd0
lea edx, [ebp - 0x2c0]
push edx
mov ecx, dword [ebp - 0x280]
call fcn.004593c0
lea ecx, [ebp - 0x288]
call fcn.00402870
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0xd3d0]
mov ecx, dword [eax + 4]
push ecx
push 0x550fc0
lea edx, [ebp - 0x288]
push edx
call fcn.00405a00
add esp, 0xc
lea eax, [ebp - 0x2fc]
push eax
lea ecx, [ebp - 0x288]
call fcn.00404510
push 0x550fc4
lea ecx, [ebp - 0x288]
call fcn.00404530
lea ecx, [ebp - 0x288]
call fcn.00404550
push eax
lea ecx, [ebp - 0xd3b8]
call fcn.00405f30
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0xd3b8]
push ecx
lea ecx, [ebp - 0x36c]
call fcn.00452f60
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0xd3b8]
call fcn.00405fb0
lea edx, [ebp - 0x278]
push edx
lea ecx, [ebp - 0x36c]
call fcn.004543b0
mov byte [ebp - 4], 0x40
push 0x550ff4
lea ecx, [ebp - 0x2c0]
call fcn.00405fd0
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x2a4]
call fcn.00404260
lea ecx, [ebp - 0x2c0]
push ecx
mov ecx, dword [ebp - 0x280]
call fcn.004593c0
lea ecx, [ebp - 0x2f8]
call fcn.00405ff0
push eax
mov ecx, dword [ebp - 0x280]
call fcn.004593e0
mov ecx, dword [ebp - 0x280]
call fcn.00459620
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
call fcn.00404120
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
call fcn.00404470
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x442f7b
mov dword [ebp - 0x3c], 1
mov edx, dword [ebp - 0x3c]
push edx
call fcn.0047b469
add esp, 4
mov dword [ebp - 0xd3bc], eax
mov eax, dword [ebp - 0xd3bc]
mov dword [ebp - 0x2c4], eax
mov ecx, dword [ebp - 0x3c]
push ecx
push 0
mov edx, dword [ebp - 0x2c4]
push edx
call fcn.00486c20
add esp, 0xc
mov dword [ebp - 0x2dc], 0
mov byte [ebp - 0x389], 0
mov dword [ebp - 0xcfc8], 0
jmp 0x442fda
mov eax, dword [ebp - 0xcfc8]
add eax, 1
mov dword [ebp - 0xcfc8], eax
mov ecx, dword [ebp - 0x40]
call fcn.00404470
cmp dword [ebp - 0xcfc8], eax
jae 0x443017
mov ecx, dword [ebp - 0xcfc8]
push ecx
mov ecx, dword [ebp - 0x40]
call fcn.0045d9c0
mov dl, byte [eax]
mov byte [ebp - 0xcfc9], dl
mov eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0xcfc8]
mov cl, byte [ebp - 0xcfc9]
mov byte [eax], cl
jmp 0x442fcb
cmp dword [ebp - 0x280], 0
je 0x443071
mov edx, dword [ebp - 0x280]
mov dword [ebp - 0xd3c4], edx
mov eax, dword [ebp - 0xd3c4]
mov dword [ebp - 0xd3c0], eax
cmp dword [ebp - 0xd3c0], 0
je 0x44305d
push 1
mov ecx, dword [ebp - 0xd3c0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xd3c0]
mov eax, dword [edx]
call eax
mov dword [ebp - 0xd49c], eax
jmp 0x443067
mov dword [ebp - 0xd49c], 0
mov dword [ebp - 0x280], 0
mov ecx, dword [ebp - 0x2c4]
push ecx
mov ecx, dword [ebp - 0xd3d0]
call fcn.00443190
cmp dword [ebp - 0x2c4], 0
je 0x4430b1
mov edx, dword [ebp - 0x2c4]
mov dword [ebp - 0xd3c8], edx
mov eax, dword [ebp - 0xd3c8]
push eax
call fcn.0047b474
add esp, 4
mov dword [ebp - 0x2c4], 0
mov byte [ebp - 0xd3c9], 1
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x278]
call fcn.00405fb0
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x288]
call fcn.00402890
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x2fc]
call fcn.00402890
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x388]
call fcn.00405fb0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x38]
call fcn.00404090
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2c0]
call fcn.00412760
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3a4]
call fcn.00465860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2f8]
call fcn.00405fb0
mov al, byte [ebp - 0xd3c9]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00486c08
mov esp, ebp
pop ebp
ret