Function at 0x40115c
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
mov dword [ebp - 4], 0
xor eax, eax
mov al, byte [0x429191]
cmp eax, 2
je 0x401188
mov cl, byte [0x4248e8]
mov byte [0x4248e9], cl
mov byte [0x4248e8], 0xff
xor edx, edx
mov dl, byte [0x429191]
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x64], 0xa
ja case.0x4011a0.3
mov eax, dword [ebp - 0x64]
jmp dword [eax*4 + 0x401e36]
mov byte [0x429191], 1
push str.bin_map25.bin
call dword [sym.imp.KERNEL32.dll_LoadLibraryA_1]
mov dword [0x42921c], eax
push 0x424070
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291e0], eax
push 0x42407c
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x42919c], eax
push 0x42408c
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a0], eax
push 0x424098
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a4], eax
push 0x4240a4
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a8], eax
push 0x4240b4
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291b0], eax
push 0x4240c8
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291cc], eax
push 0x4240dc
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291d4], eax
push 0x4240f0
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291d8], eax
push 0x424104
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x429208], eax
push 0x424110
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291f0], eax
push 0x424124
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291ec], eax
mov ecx, dword [0x42921c]
push ecx
call fcn.0040286a
add esp, 4
cmp dword [0x4291a8], 0
je 0x4012ec
call dword [0x4291a8]
cmp dword [0x42919c], 0
je 0x4012fb
call dword [0x42919c]
cmp dword [0x4291b0], 0
je 0x401312
push 0x424138
call dword [0x4291b0]
add esp, 4
cmp dword [0x4291cc], 0
je 0x40132e
push 0x429190
push 0x429191
call dword [0x4291cc]
add esp, 8
cmp dword [0x4291e0], 0
je 0x401344
push 1
push 0x14
call dword [0x4291e0]
add esp, 8
jmp case.0x4011a0.3
mov edx, dword [0x429214]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary_1]
mov dword [0x429214], 0
mov dword [0x4291dc], 0
mov dword [0x4291a8], 0
mov dword [0x42919c], 0
mov dword [0x4291a0], 0
mov dword [0x4291a4], 0
mov dword [0x4291cc], 0
mov dword [0x4291d0], 0
mov dword [0x4291d4], 0
mov dword [0x4291d8], 0
mov dword [0x429208], 0
mov dword [0x4291e8], 0
mov dword [0x4291e4], 0
mov byte [0x429191], 0
cmp dword [0x429214], 0
jne 0x401410
push str.bin_title2_d.bin
call dword [sym.imp.KERNEL32.dll_LoadLibraryA_1]
mov dword [0x429214], eax
push 0x424158
mov eax, dword [0x429214]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a8], eax
jmp 0x401427
push str.DllUserInit
mov ecx, dword [0x429214]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291dc], eax
push 0x424174
mov edx, dword [0x429214]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x42919c], eax
push 0x424184
mov eax, dword [0x429214]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a0], eax
push 0x424190
mov ecx, dword [0x429214]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a4], eax
push 0x42419c
mov edx, dword [0x429214]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291cc], eax
push str.TJ_LoadMiniGame
mov eax, dword [0x429214]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291d0], eax
push 0x4241c0
mov ecx, dword [0x429214]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291d4], eax
push 0x4241d4
mov edx, dword [0x429214]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291d8], eax
push 0x4241e8
mov eax, dword [0x429214]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x429208], eax
push 0x4241f4
mov ecx, dword [0x429214]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291e8], eax
push 0x424208
mov edx, dword [0x429214]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291e4], eax
mov eax, dword [0x429214]
push eax
call fcn.0040286a
add esp, 4
cmp dword [0x4291dc], 0
je 0x401529
call dword [0x4291dc]
jmp 0x40152f
call dword [0x4291a8]
cmp dword [0x42919c], 0
je 0x40153e
call dword [0x42919c]
cmp dword [0x4291cc], 0
je 0x40155a
push 0x429190
push 0x429191
call dword [0x4291cc]
add esp, 8
cmp dword [0x4291d4], 0
je 0x40156e
call dword [0x4291d4]
mov dword [0x429220], eax
cmp dword [0x4291d8], 0
je 0x401582
call dword [0x4291d8]
mov dword [0x429224], eax
jmp case.0x4011a0.3
cmp dword [0x4291e4], 0
je 0x40159b
call dword [0x4291e4]
mov dword [ebp - 0xc], eax
jmp 0x4015a2
mov dword [ebp - 0xc], 0
cmp dword [ebp - 0xc], 0
je 0x4015dc
cmp dword [0x429224], 0
je 0x4015ce
mov ecx, dword [0x429220]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0xc]
sar edx, 8
and edx, 0xff
mov eax, dword [0x429220]
mov byte [eax + 0x36], dl
mov ecx, dword [ebp - 0xc]
and ecx, 0xff
mov dword [ebp - 8], ecx
jmp 0x401641
cmp dword [0x429220], 0
je 0x40163a
mov edx, dword [0x429220]
xor eax, eax
mov al, byte [edx + 0x37]
cmp eax, 7
jne 0x40163a
push 0x42421c
mov ecx, dword [0x429214]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x401638
lea edx, [ebp - 0x20]
push edx
call dword [ebp - 0x14]
add esp, 4
mov eax, dword [0x429220]
mov ecx, dword [ebp - 0x18]
mov dl, byte [ecx + 0x7ce]
mov byte [eax + 0x36], dl
mov eax, dword [ebp - 0x18]
movsx ecx, byte [eax + 0x39b8]
mov dword [ebp - 8], ecx
jmp 0x401641
mov dword [ebp - 8], 0
mov edx, dword [ebp - 8]
push edx
mov eax, dword [0x429220]
xor ecx, ecx
mov cl, byte [eax + 0x36]
push ecx
call fcn.00401000
add esp, 8
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA_1]
mov dword [0x42921c], eax
cmp dword [0x42921c], 0
je 0x40192d
push 0x42422c
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x42919c], eax
push 0x42423c
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a0], eax
push 0x424248
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a4], eax
push 0x424254
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a8], eax
push 0x424264
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291b0], eax
push 0x424278
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291cc], eax
push 0x42428c
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291d4], eax
push 0x4242a0
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291d8], eax
push 0x4242b4
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x429208], eax
push 0x4242c0
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291f0], eax
push 0x4242d4
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291ec], eax
push 0x4242e8
mov edx, dword [0x429214]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [ebp - 0x28], eax
push 0x4242f8
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x28], 0
je 0x4017b9
cmp dword [ebp - 0x24], 0
je 0x4017b9
lea ecx, [ebp - 0x34]
push ecx
call dword [ebp - 0x28]
add esp, 4
lea edx, [ebp - 0x34]
push edx
call dword [ebp - 0x24]
add esp, 4
mov eax, dword [0x42921c]
push eax
call fcn.0040286a
add esp, 4
cmp dword [0x4291a8], 0
je 0x4017d6
call dword [0x4291a8]
cmp dword [0x4291e4], 0
je 0x4017f8
cmp dword [0x4291f0], 0
je 0x4017f8
call dword [0x4291e4]
push eax
call dword [0x4291f0]
add esp, 4
cmp dword [0x42919c], 0
je 0x401807
call dword [0x42919c]
cmp dword [0x4291b0], 0
je 0x40181e
push 0x424308
call dword [0x4291b0]
add esp, 4
cmp dword [0x4291cc], 0
je 0x40183a
push 0x429190
push 0x429191
call dword [0x4291cc]
add esp, 8
cmp dword [0x4291d4], 0
je 0x401873
call dword [0x4291d4]
mov dword [ebp - 0x38], eax
cmp dword [0x429220], 0
je 0x401873
cmp dword [ebp - 0x38], 0
je 0x401873
push 0x1000
mov ecx, dword [0x429220]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.00412bd0
add esp, 0xc
cmp dword [0x4291d8], 0
je 0x4018ab
call dword [0x4291d8]
mov dword [ebp - 0x3c], eax
cmp dword [0x429224], 0
je 0x4018ab
cmp dword [ebp - 0x3c], 0
je 0x4018ab
push 0x1000
mov eax, dword [0x429224]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
call fcn.00412bd0
add esp, 0xc
xor edx, edx
mov dl, byte [0x429148]
test edx, edx
je 0x40192d
cmp dword [0x429208], 0
je 0x40192d
cmp dword [0x429214], 0
je 0x4018f6
push str.SlgGetDebugParam
mov eax, dword [0x429214]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x42920c], eax
cmp dword [0x42920c], 0
je 0x4018f6
push 0x44c500
call dword [0x42920c]
add esp, 4
cmp dword [0x42921c], 0
je 0x40192d
push 0x424328
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x429210], eax
cmp dword [0x429210], 0
je 0x40192d
push 0x44c500
call dword [0x429210]
add esp, 4
jmp case.0x4011a0.3
cmp dword [0x4291d0], 0
je 0x401984
call dword [0x4291d0]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA_1]
mov dword [0x429218], eax
mov al, byte [0x4248e8]
mov byte [0x4248e9], al
mov ecx, dword [ebp - 4]
push ecx
push str.binENDING.bin
call fcn.0041d940
add esp, 8
test eax, eax
jne 0x40197b
mov byte [0x4248e8], 0xa
jmp 0x401982
mov byte [0x4248e8], 1
jmp 0x401994
push str.binmg_daifugo.bin
call dword [sym.imp.KERNEL32.dll_LoadLibraryA_1]
mov dword [0x429218], eax
cmp dword [0x429218], 0
je 0x401af9
push 0x424350
mov edx, dword [0x429218]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x42919c], eax
push 0x424360
mov eax, dword [0x429218]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a0], eax
push 0x42436c
mov ecx, dword [0x429218]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a4], eax
push 0x424378
mov edx, dword [0x429218]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a8], eax
push 0x424388
mov eax, dword [0x429218]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291cc], eax
push 0x42439c
mov ecx, dword [0x429218]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291d4], eax
push 0x4243b0
mov edx, dword [0x429218]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291d8], eax
mov eax, dword [0x429218]
push eax
call fcn.0040286a
add esp, 4
cmp dword [0x4291a8], 0
je 0x401a5d
call dword [0x4291a8]
cmp dword [0x42919c], 0
je 0x401a6c
call dword [0x42919c]
cmp dword [0x4291cc], 0
je 0x401a88
push 0x429190
push 0x429191
call dword [0x4291cc]
add esp, 8
cmp dword [0x4291d4], 0
je 0x401ac1
call dword [0x4291d4]
mov dword [ebp - 0x40], eax
cmp dword [0x429220], 0
je 0x401ac1
cmp dword [ebp - 0x40], 0
je 0x401ac1
push 0x1000
mov ecx, dword [0x429220]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call fcn.00412bd0
add esp, 0xc
cmp dword [0x4291d8], 0
je 0x401af9
call dword [0x4291d8]
mov dword [ebp - 0x44], eax
cmp dword [0x429224], 0
je 0x401af9
cmp dword [ebp - 0x44], 0
je 0x401af9
push 0x1000
mov eax, dword [0x429224]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.00412bd0
add esp, 0xc
jmp case.0x4011a0.3
mov byte [0x429191], 1
mov edx, dword [0x44c6dc]
push edx
mov eax, dword [0x429220]
xor ecx, ecx
mov cl, byte [eax + 0x36]
push ecx
call fcn.00401000
add esp, 8
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA_1]
mov dword [0x42921c], eax
cmp dword [0x42921c], 0
je case.0x4011a0.3
push str.AdvSetRootTask
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x42919c], eax
push str.DllTaskLoop
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a0], eax
push str.DLLsynch
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a4], eax
push str.DLLsystemInit
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291a8], eax
push str.DllgdFsChangeDir
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291b0], eax
push str.TJ_task_mode_Set2
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291cc], eax
push 0x424424
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291d4], eax
push 0x424438
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291d8], eax
push str.TjDebugTask
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x429208], eax
push str.SlgSetEyecatchFlag
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291f0], eax
push str.SlgGetEyecatchFlag
mov ecx, dword [0x42921c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291ec], eax
push str.DllSlgRevWork
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291f8], eax
push str.DllRevSlgStandardWork
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x429200], eax
push 0x4244a8
mov ecx, dword [0x429214]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [ebp - 0x4c], eax
push 0x4244b8
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x4c], 0
je 0x401cae
cmp dword [ebp - 0x48], 0
je 0x401cae
lea eax, [ebp - 0x58]
push eax
call dword [ebp - 0x4c]
add esp, 4
lea ecx, [ebp - 0x58]
push ecx
call dword [ebp - 0x48]
add esp, 4
mov edx, dword [0x42921c]
push edx
call fcn.0040286a
add esp, 4
cmp dword [0x4291a8], 0
je 0x401ccc
call dword [0x4291a8]
cmp dword [0x42919c], 0
je 0x401cdb
call dword [0x42919c]
cmp dword [0x4291b0], 0
je 0x401cf2
push str.SAKURA2
call dword [0x4291b0]
add esp, 4
cmp dword [0x4291cc], 0
je 0x401d0e
push 0x429190
push 0x429191
call dword [0x4291cc]
add esp, 8
cmp dword [0x4291d4], 0
je 0x401d46
call dword [0x4291d4]
mov dword [ebp - 0x5c], eax
cmp dword [0x429220], 0
je 0x401d46
cmp dword [ebp - 0x5c], 0
je 0x401d46
push 0x1000
mov eax, dword [0x429220]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
call fcn.00412bd0
add esp, 0xc
cmp dword [0x4291d8], 0
je 0x401d7f
call dword [0x4291d8]
mov dword [ebp - 0x60], eax
cmp dword [0x429224], 0
je 0x401d7f
cmp dword [ebp - 0x60], 0
je 0x401d7f
push 0x1000
mov edx, dword [0x429224]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.00412bd0
add esp, 0xc
cmp dword [0x4291f8], 0
je 0x401d96
push 0x427140
call dword [0x4291f8]
add esp, 4
cmp dword [0x429200], 0
je 0x401dad
push 0x427130
call dword [0x429200]
add esp, 4
xor ecx, ecx
mov cl, byte [0x429148]
test ecx, ecx
je 0x401df9
cmp dword [0x429208], 0
je 0x401df9
cmp dword [0x42921c], 0
je 0x401df9
push str.SlgSetDebugParam
mov edx, dword [0x42921c]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x429210], eax
cmp dword [0x429210], 0
je 0x401df9
push 0x44c500
call dword [0x429210]
add esp, 4
push str.DllSlgMap
mov eax, dword [0x42921c]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress_1]
mov dword [0x4291e0], eax
cmp dword [0x4291e0], 0
je case.0x4011a0.3
mov cl, byte [0x44c6dc]
push ecx
mov edx, dword [0x429220]
mov al, byte [edx + 0x36]
push eax
call dword [0x4291e0]
add esp, 8
mov esp, ebp
pop ebp
ret