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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51ef33
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
mov eax, dword [0x56858c]
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 eax, dword [ebp + 0xc]
mov edi, ecx
mov ecx, dword [ebp + 8]
push eax
push ecx
mov ecx, edi
mov dword [ebp - 0x5c], edi
call fcn.004c34e0
xor ebx, ebx
mov dword [edi + 0x78], ebx
mov dword [edi + 0x7c], ebx
mov dword [edi + 0x80], ebx
lea esi, [edi + 0x8c]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [edi + 0x98], ebx
mov dword [edi + 0x9c], ebx
mov dword [edi + 0xa0], ebx
push 0x10
mov dword [ebp - 4], ebx
mov dword [edi], vtable.GuiControl::GuiSaveLoadDialog::SaveLoadPage00.0
call fcn.00503a77
add esp, 4
cmp eax, ebx
je 0x4d1fb1
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
jmp 0x4d1fb3
xor eax, eax
push eax
lea ecx, [edi + 0x78]
call fcn.004af810
push 0x55f774
push edi
lea edx, [ebp - 0x68]
push edx
lea ecx, [ebp - 0x41]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
call fcn.004ca980
mov ecx, dword [ebp - 0x68]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov edx, dword [ebp - 0x64]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x60]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 1
mov dword [ebp - 0x78], esp
cmp eax, ebx
je 0x4d2001
inc dword [eax + 4]
mov ecx, edi
call fcn.004c5b50
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 0
cmp eax, ebx
je 0x4d2039
dec dword [eax + 4]
mov ecx, eax
cmp dword [eax + 4], ebx
jne 0x4d2039
cmp byte [ecx + 8], 0
je 0x4d2029
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x60]
cmp ecx, ebx
je 0x4d2039
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x114]
mov ecx, dword [eax + 0x118]
mov edi, dword [eax + 0x11c]
mov ebx, dword [eax + 0x120]
push 0x24
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], ecx
call fcn.00503a77
add esp, 4
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4d207b
mov ecx, eax
call fcn.004116f0
jmp 0x4d207d
xor eax, eax
push eax
mov ecx, esi
mov byte [ebp - 4], 0
call fcn.0040ced0
mov eax, dword [esi]
sub ebx, dword [ebp - 0x3c]
sub edi, dword [ebp - 0x40]
test eax, eax
jne 0x4d2099
xor ecx, ecx
jmp 0x4d20af
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4d20a5
mov edx, dword [ecx + 0xc]
jmp 0x4d20a7
xor edx, edx
mov ecx, dword [esi + 4]
imul ecx, edx
add ecx, eax
push 1
push 1
push ebx
push edi
call fcn.0040fc70
test al, al
jne 0x4d20d3
push 0x5455d8
lea edx, [ebp - 0x54]
push edx
mov dword [ebp - 0x54], 0
call fcn.005036c5
mov edx, dword [esi]
test edx, edx
jne 0x4d20dd
xor eax, eax
jmp 0x4d20f3
mov eax, dword [esi + 8]
test eax, eax
je 0x4d20e9
mov ecx, dword [eax + 0xc]
jmp 0x4d20eb
xor ecx, ecx
mov eax, dword [esi + 4]
imul eax, ecx
add eax, edx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [esi]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov edx, dword [esi + 4]
mov dword [eax + 4], edx
mov esi, dword [esi + 8]
mov dword [ebp - 0x78], esp
mov dword [eax + 8], esi
test esi, esi
je 0x4d211e
inc dword [esi + 4]
mov esi, dword [ebp - 0x5c]
push 0x29
push esi
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x41]
call fcn.004c8900
mov ecx, dword [ebp - 0x68]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov edx, dword [ebp - 0x64]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x60]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x60]
mov ebx, 3
mov byte [ebp - 4], bl
mov dword [ebp - 0x78], esp
test eax, eax
je 0x4d215b
inc dword [eax + 4]
mov ecx, esi
call fcn.004c5b50
mov eax, dword [ebp - 0x60]
mov byte [ebp - 4], 0
test eax, eax
je 0x4d2194
dec dword [eax + 4]
cmp dword [eax + 4], 0
mov ecx, eax
jne 0x4d2194
cmp byte [ecx + 8], 0
je 0x4d2184
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x4d2194
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x54], 0x55ff38
mov dword [ebp - 0x58], ebx
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x5c]
push ecx
push edx
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x41]
call fcn.004cac20
push 0xc
mov byte [ebp - 4], 4
call fcn.00503a77
xor edi, edi
add esp, 4
cmp eax, edi
je 0x4d21ff
mov edx, dword [ebp - 0x74]
cmp edx, edi
jne 0x4d21d8
xor ecx, ecx
jmp 0x4d21ec
mov ecx, dword [ebp - 0x6c]
cmp ecx, edi
je 0x4d21e4
mov ecx, dword [ecx + 0xc]
jmp 0x4d21e6
xor ecx, ecx
imul ecx, dword [ebp - 0x70]
add ecx, edx
mov ecx, dword [ecx + 4]
mov dword [eax], vtable.GuiControl::ClickedEvent.0
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov esi, eax
jmp 0x4d2201
xor esi, esi
xor ebx, ebx
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x7c], edi
test esi, esi
je 0x4d224d
mov ebx, esi
push 0x18
mov dword [ebp - 0x84], ebx
call fcn.00503a77
add esp, 4
test eax, eax
je 0x4d2231
mov dword [eax], vtable.yaneuraoGameSDK3rd::YTL::nonarray_ref_object_class_GuiControl::ClickedEvent_.0
mov dword [eax + 0x14], esi
jmp 0x4d2233
xor eax, eax
mov ecx, 1
mov dword [eax + 4], ecx
mov byte [eax + 8], cl
mov edi, eax
mov dword [eax + 0xc], 0xc
mov dword [ebp - 0x7c], edi
mov dword [eax + 0x10], ecx
sub esp, 0xc
mov eax, esp
mov byte [ebp - 4], 5
mov dword [ebp - 0x78], esp
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [eax + 8], edi
test edi, edi
je 0x4d226c
inc dword [edi + 4]
mov ecx, dword [ebp - 0x74]
test ecx, ecx
jne 0x4d2277
xor eax, eax
jmp 0x4d228b
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x4d2283
mov eax, dword [eax + 0xc]
jmp 0x4d2285
xor eax, eax
imul eax, dword [ebp - 0x70]
add eax, ecx
mov ecx, eax
call fcn.004aef10
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
test eax, eax
je 0x4d22ab
inc dword [eax + 4]
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x68]
push eax
add ecx, 0xc
mov byte [ebp - 4], 6
call fcn.0044ca40
mov esi, dword [ebp - 0x60]
mov byte [ebp - 4], 5
test esi, esi
je 0x4d22f1
dec dword [esi + 4]
jne 0x4d22e7
cmp byte [esi + 8], 0
je 0x4d22dc
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
xor ecx, ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x68], ecx
jmp 0x4d22f3
xor ecx, ecx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edi
cmp edi, ecx
je 0x4d2303
inc dword [edi + 4]
mov edx, dword [ebp - 0x5c]
mov edx, dword [edx + 0x78]
xor ebx, ebx
cmp edx, ecx
je 0x4d232b
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + 0x80]
cmp eax, ebx
je 0x4d2321
mov eax, dword [eax + 0xc]
jmp 0x4d2323
xor eax, eax
mov ecx, dword [ecx + 0x7c]
imul ecx, eax
add ecx, edx
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 7
call fcn.0044ca40
mov esi, dword [ebp - 0x48]
mov byte [ebp - 4], 5
cmp esi, ebx
je 0x4d2367
dec dword [esi + 4]
jne 0x4d2361
cmp byte [esi + 8], 0
je 0x4d2356
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x50], ebx
mov byte [ebp - 4], 4
cmp edi, ebx
je 0x4d2396
dec dword [edi + 4]
jne 0x4d238d
cmp byte [edi + 8], 0
je 0x4d2382
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 1
mov ecx, edi
call eax
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x84], ebx
mov eax, dword [ebp - 0x6c]
mov byte [ebp - 4], 0
cmp eax, ebx
je 0x4d23cd
dec dword [eax + 4]
mov ecx, eax
cmp dword [eax + 4], ebx
jne 0x4d23c7
cmp byte [ecx + 8], 0
je 0x4d23b7
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x6c]
cmp ecx, ebx
je 0x4d23c7
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x74], ebx
add dword [ebp - 0x54], 0x2c
dec dword [ebp - 0x58]
jne 0x4d21a5
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x5c]
push 0x55f924
push ecx
lea edx, [ebp - 0x50]
push edx
lea ecx, [ebp - 0x41]
call fcn.004cac20
mov ecx, dword [ebp - 0x50]
test ecx, ecx
jne 0x4d2402
xor eax, eax
jmp 0x4d2416
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4d240e
mov eax, dword [eax + 0xc]
jmp 0x4d2410
xor eax, eax
imul eax, dword [ebp - 0x4c]
add eax, ecx
mov ecx, dword [ebp - 0x58]
add ecx, 0x11
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x50]
test ecx, ecx
jne 0x4d242a
xor eax, eax
jmp 0x4d243e
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4d2436
mov eax, dword [eax + 0xc]
jmp 0x4d2438
xor eax, eax
imul eax, dword [ebp - 0x4c]
add eax, ecx
push 0
lea edx, [ebp - 0x3c]
push edx
mov ecx, eax
call fcn.004aeea0
mov eax, dword [ebp - 0x58]
mov ecx, dword [eax*8 + 0x55fdc4]
mov edx, dword [eax*8 + 0x55fdc0]
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x38]
push ecx
push edx
sub esp, 0xc
mov eax, esp
mov byte [ebp - 4], 9
mov dword [ebp - 0x78], esp
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
test esi, esi
je 0x4d2482
inc dword [esi + 4]
lea ecx, [ebp - 0x41]
call fcn.004b9da0
test edi, edi
jne 0x4d2494
xor ebx, ebx
xor eax, eax
jmp 0x4d24a6
test esi, esi
je 0x4d249d
mov eax, dword [esi + 0xc]
jmp 0x4d249f
xor eax, eax
imul eax, ebx
add eax, edi
xor ebx, ebx
mov edi, dword [eax + 0x34]
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x50]
mov dword [ebp - 0x8c], eax
cmp edi, ebx
jne 0x4d24c9
xor eax, eax
jmp 0x4d24dd
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x4d24d5
mov eax, dword [eax + 0xc]
jmp 0x4d24d7
xor eax, eax
imul eax, dword [ebp - 0x4c]
add eax, edi
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], edx
mov byte [ebp - 4], 8
cmp esi, ebx
je 0x4d250f
dec dword [esi + 4]
jne 0x4d2509
cmp byte [esi + 8], 0
je 0x4d24fe
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x3c], ebx
mov edx, dword [ebp - 0x50]
cmp edx, ebx
jne 0x4d251a
xor ecx, ecx
jmp 0x4d252e
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x4d2526
mov ecx, dword [eax + 0xc]
jmp 0x4d2528
xor ecx, ecx
imul ecx, dword [ebp - 0x4c]
add ecx, edx
mov edx, dword [ecx]
mov edx, dword [edx + 0x3c]
lea eax, [ebp - 0x30]
push eax
call edx
push eax
lea eax, [ebp - 0x20]
push eax
mov ecx, eax
push ecx
call dword [0x526388]
push 0xc
call fcn.00503a77
add esp, 4
cmp eax, ebx
je 0x4d2587
mov edx, dword [ebp - 0x50]
cmp edx, ebx
jne 0x4d2560
xor ecx, ecx
jmp 0x4d2574
mov ecx, dword [ebp - 0x48]
cmp ecx, ebx
je 0x4d256c
mov ecx, dword [ecx + 0xc]
jmp 0x4d256e
xor ecx, ecx
imul ecx, dword [ebp - 0x4c]
add ecx, edx
mov ecx, dword [ecx + 4]
mov dword [eax], vtable.GuiControl::ClickedEvent.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov esi, eax
jmp 0x4d2589
xor esi, esi
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x6c], edi
test esi, esi
je 0x4d25d1
mov ebx, esi
push 0x18
mov dword [ebp - 0x74], ebx
call fcn.00503a77
add esp, 4
test eax, eax
je 0x4d25b5
mov dword [eax], vtable.yaneuraoGameSDK3rd::YTL::nonarray_ref_object_class_GuiControl::ClickedEvent_.0
mov dword [eax + 0x14], esi
jmp 0x4d25b7
xor eax, eax
mov ecx, 1
mov dword [eax + 4], ecx
mov byte [eax + 8], cl
mov edi, eax
mov dword [eax + 0xc], 0xc
mov dword [ebp - 0x6c], edi
mov dword [eax + 0x10], ecx
sub esp, 0xc
mov eax, esp
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x78], esp
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [eax + 8], edi
test edi, edi
je 0x4d25f0
inc dword [edi + 4]
mov ecx, dword [ebp - 0x50]
test ecx, ecx
jne 0x4d25fb
xor eax, eax
jmp 0x4d260f
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4d2607
mov eax, dword [eax + 0xc]
jmp 0x4d2609
xor eax, eax
imul eax, dword [ebp - 0x4c]
add eax, ecx
mov ecx, eax
call fcn.004aef10
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x4d2632
inc dword [eax + 4]
mov ebx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x84]
push ecx
lea ecx, [ebx + 0xc]
mov byte [ebp - 4], 0xb
call fcn.0044ca40
mov esi, dword [ebp - 0x7c]
mov byte [ebp - 4], 0xa
test esi, esi
je 0x4d267e
dec dword [esi + 4]
jne 0x4d2671
cmp byte [esi + 8], 0
je 0x4d2666
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x84], ecx
jmp 0x4d2680
xor ecx, ecx
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edi
cmp edi, ecx
je 0x4d2693
inc dword [edi + 4]
mov edx, dword [ebx + 0x78]
cmp edx, ecx
je 0x4d26b3
mov eax, dword [ebx + 0x80]
test eax, eax
je 0x4d26a9
mov eax, dword [eax + 0xc]
jmp 0x4d26ab
xor eax, eax
mov ecx, dword [ebx + 0x7c]
imul ecx, eax
add ecx, edx
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0xc
call fcn.0044ca40
mov esi, dword [ebp - 0x60]
xor ebx, ebx
mov byte [ebp - 4], 0xa
cmp esi, ebx
je 0x4d26f0
dec dword [esi + 4]
jne 0x4d26ea
cmp byte [esi + 8], bl
je 0x4d26df
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x68], ebx
mov byte [ebp - 4], 8
cmp edi, ebx
je 0x4d271b
dec dword [edi + 4]
jne 0x4d2715
cmp byte [edi + 8], bl
je 0x4d270a
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 1
mov ecx, edi
call eax
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x74], ebx
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x4d2750
dec dword [eax + 4]
mov ecx, eax
cmp dword [eax + 4], ebx
jne 0x4d274a
cmp byte [ecx + 8], bl
je 0x4d273a
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x48]
cmp ecx, ebx
je 0x4d274a
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp eax, 8
jb 0x4d23e2
mov edi, dword [ebp - 0x5c]
mov eax, dword [edi + 0x9c]
mov ecx, dword [edi + 0x98]
cmp ecx, eax
je 0x4d27a2
mov edx, dword [ebp - 0x78]
push edx
push ecx
push eax
push eax
call fcn.004f59a0
mov ecx, dword [ebp - 0x78]
push ecx
mov esi, eax
mov eax, dword [edi + 0x9c]
lea edx, [edi + 0xa4]
push edx
push eax
push esi
call fcn.0048cd80
add esp, 0x20
mov dword [edi + 0x9c], esi
mov dword [ebp - 0x54], ebx
xor ebx, ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x54]
add eax, 0x11
push eax
lea ecx, [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x5c]
call fcn.004b1d80
mov ecx, dword [ebp - 0x74]
mov byte [ebp - 4], 0xe
cmp ecx, ebx
jne 0x4d2805
mov esi, dword [ebp - 0x6c]
mov byte [ebp - 4], 0xd
cmp esi, ebx
je 0x4d27fc
dec dword [esi + 4]
jne 0x4d27f6
cmp byte [esi + 8], bl
je 0x4d27eb
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x74], ebx
mov byte [ebp - 4], 0
jmp 0x4d2c22
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
je 0x4d2811
mov eax, dword [eax + 0xc]
jmp 0x4d2813
xor eax, eax
imul eax, dword [ebp - 0x70]
mov edx, dword [ecx + eax]
mov edx, dword [edx + 0x3c]
add ecx, eax
lea eax, [ebp - 0x30]
push eax
call edx
push eax
lea eax, [ebp - 0x40]
push eax
call dword [0x526390]
push 0x24
call fcn.00503a77
mov esi, eax
add esp, 4
mov dword [ebp - 0x88], esi
mov byte [ebp - 4], 0xf
cmp esi, ebx
je 0x4d297d
mov dword [esi], vtable.Graphics::CSurface.0
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov edx, dword [0x5684f8]
mov eax, dword [edx + 0xc]
mov ecx, 0x5684f8
call eax
add eax, 0x10
mov dword [esi + 0x1c], eax
mov byte [ebp - 4], 0x10
cmp dword [esi + 4], ebx
je 0x4d2943
mov ecx, 0x56a451
call fcn.004074f0
mov ecx, dword [esi + 4]
mov dword [ebp - 0x78], ecx
mov ecx, dword [0x5699e4]
mov eax, dword [ecx]
cmp eax, ebx
je 0x4d2943
mov edx, dword [ecx + 8]
cmp edx, ebx
je 0x4d28b2
mov edx, dword [edx + 0xc]
jmp 0x4d28b4
xor edx, edx
mov edi, dword [ecx + 4]
imul edi, edx
mov edx, dword [0x5684f8]
add edi, eax
mov eax, dword [edx + 0xc]
mov ecx, 0x5684f8
call eax
add eax, 0x10
mov dword [ebp - 0x58], eax
mov ecx, str.SurfaceRelease
mov byte [ebp - 4], 0x11
test ecx, 0xffff0000
jne 0x4d296c
mov edx, ecx
movzx ebx, dx
push 0
push ebx
call fcn.00401180
add esp, 8
test eax, eax
je 0x4d2905
push ebx
push eax
lea ecx, [ebp - 0x58]
call fcn.00404a50
xor ebx, ebx
mov eax, dword [ebp - 0x58]
mov ecx, dword [edi + 4]
push eax
push ecx
mov byte [ebp - 4], 0x10
call dword [0x5261dc]
mov edi, eax
mov eax, dword [ebp - 0x58]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4d293a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x78]
push ecx
call edi
add esp, 4
xor ecx, ecx
xor eax, eax
push ebx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x14], ecx
push 0x52791c
lea ecx, [esi + 0x1c]
mov dword [esi + 4], ebx
mov dword [esi + 8], eax
mov dword [esi + 0x10], eax
mov byte [esi + 0x18], al
call fcn.004049b0
mov dword [esi + 0x20], ebx
jmp 0x4d297f
push 0xe
push str.SurfaceRelease
lea ecx, [ebp - 0x58]
call fcn.004049b0
jmp 0x4d2907
xor esi, esi
push esi
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0xe
call fcn.0040ced0
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x50]
sub eax, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x48]
cmp edi, ebx
jne 0x4d29a6
xor ecx, ecx
jmp 0x4d29b9
cmp esi, ebx
je 0x4d29af
mov ecx, dword [esi + 0xc]
jmp 0x4d29b1
xor ecx, ecx
imul ecx, dword [ebp - 0x4c]
add ecx, edi
xor ebx, ebx
push 1
push 1
push eax
push edx
call fcn.0040fc70
test al, al
jne 0x4d2a2b
mov edi, dword [ebp - 0x6c]
mov byte [ebp - 4], 0xd
cmp edi, ebx
je 0x4d29f6
dec dword [edi + 4]
jne 0x4d29f0
cmp byte [edi + 8], al
je 0x4d29e5
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 1
mov ecx, edi
call eax
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x74], ebx
mov byte [ebp - 4], 0
cmp esi, ebx
je 0x4d2c22
dec dword [esi + 4]
jne 0x4d2a20
cmp byte [esi + 8], 0
je 0x4d2a15
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x50], ebx
jmp 0x4d2c22
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
cmp edi, ebx
jne 0x4d2a39
xor eax, eax
jmp 0x4d2a4c
cmp esi, ebx
je 0x4d2a42
mov eax, dword [esi + 0xc]
jmp 0x4d2a44
xor eax, eax
imul eax, dword [ebp - 0x4c]
add eax, edi
xor ebx, ebx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x6c], ebx
je 0x4d2a83
mov eax, dword [ebp - 0x6c]
dec dword [eax + 4]
jne 0x4d2a7d
cmp byte [eax + 8], 0
je 0x4d2a71
mov ecx, eax
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x74], ebx
mov ecx, dword [ebp - 0x4c]
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x88], esp
mov dword [eax], edi
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
cmp esi, ebx
je 0x4d2aa0
inc dword [esi + 4]
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x5c]
add edx, 0x19
push edx
push esi
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x41]
call fcn.004c8900
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], eax
cmp eax, ebx
je 0x4d2ad3
inc dword [eax + 4]
lea eax, [ebp - 0x84]
push eax
lea ecx, [esi + 0xc]
mov byte [ebp - 4], 0x13
call fcn.0044ca40
mov esi, dword [ebp - 0x7c]
mov byte [ebp - 4], 0x12
cmp esi, ebx
je 0x4d2b18
dec dword [esi + 4]
jne 0x4d2b0f
cmp byte [esi + 8], 0
je 0x4d2b04
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x84], ebx
mov ebx, dword [ebp - 0x5c]
mov eax, dword [ebx + 0x9c]
mov esi, dword [ebx + 0xa0]
cmp eax, esi
jne 0x4d2b8f
mov edi, dword [ebx + 0x98]
sub eax, edi
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 0x15555554
ja 0x4d2c60
sub esi, edi
mov eax, 0x2aaaaaab
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
inc ecx
add eax, edx
cmp ecx, eax
jbe 0x4d2b8f
mov edx, eax
shr edx, 1
mov esi, 0x15555555
sub esi, edx
cmp esi, eax
jae 0x4d2b7b
xor eax, eax
jmp 0x4d2b7d
add eax, edx
cmp eax, ecx
jae 0x4d2b83
mov eax, ecx
push eax
lea ecx, [ebx + 0x98]
call fcn.0044a500
mov eax, dword [ebx + 0x9c]
mov esi, dword [ebp - 0x48]
xor edi, edi
cmp eax, edi
je 0x4d2bb3
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], esi
cmp esi, edi
je 0x4d2bb3
inc dword [esi + 4]
mov eax, dword [ebp - 0x60]
add dword [ebx + 0x9c], 0xc
mov byte [ebp - 4], 0xd
cmp eax, edi
je 0x4d2bf1
dec dword [eax + 4]
mov ecx, eax
cmp dword [eax + 4], edi
jne 0x4d2beb
cmp byte [ecx + 8], 0
je 0x4d2bdb
mov eax, dword [ecx]
mov edx, dword [eax]
call edx
mov ecx, dword [ebp - 0x60]
cmp ecx, edi
je 0x4d2beb
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push 1
call edx
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x68], edi
mov byte [ebp - 4], 0
cmp esi, edi
je 0x4d2c22
mov esi, dword [ebp - 0x48]
dec dword [esi + 4]
jne 0x4d2c1a
cmp byte [esi + 8], 0
je 0x4d2c0f
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 4]
push 1
mov ecx, esi
call edx
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x54], eax
cmp eax, 8
jb 0x4d27a5
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 0x55fdc0
mov eax, dword [ebp - 0x5c]
push 0x55fd94
push eax
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x41]
call fcn.004cac20
mov ecx, dword [ebp - 0x50]
test ecx, ecx
jne 0x4d2c6a
xor eax, eax
jmp 0x4d2c7e
push str.vector_T__too_long
call fcn.005035ed
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4d2c76
mov eax, dword [eax + 0xc]
jmp 0x4d2c78
xor eax, eax
imul eax, dword [ebp - 0x4c]
add eax, ecx
mov edx, dword [ebp - 0x54]
add edx, 0x21
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x50]
test edx, edx
jne 0x4d2c92
xor ecx, ecx
jmp 0x4d2ca6
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4d2c9e
mov ecx, dword [eax + 0xc]
jmp 0x4d2ca0
xor ecx, ecx
imul ecx, dword [ebp - 0x4c]
add ecx, edx
push 0
lea eax, [ebp - 0x3c]
push eax
call fcn.004aeea0
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x38]
add ecx, 0x8c
add eax, 0xa
push ecx
push eax
sub esp, 0xc
mov eax, esp
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x88], esp
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], esi
test esi, esi
je 0x4d2ceb
inc dword [esi + 4]
lea ecx, [ebp - 0x41]
call fcn.004b9da0
test edi, edi
jne 0x4d2cfd
xor ebx, ebx
xor eax, eax
jmp 0x4d2d0f
test esi, esi
je 0x4d2d06
mov eax, dword [esi + 0xc]
jmp 0x4d2d08
xor eax, eax
imul eax, ebx
add eax, edi
xor ebx, ebx
mov edi, dword [eax + 0x34]
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x90], edi
mov edi, dword [ebp - 0x50]
mov dword [ebp - 0x8c], eax
cmp edi, ebx
jne 0x4d2d32
xor eax, eax
jmp 0x4d2d46
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x4d2d3e
mov eax, dword [eax + 0xc]
jmp 0x4d2d40
xor eax, eax
imul eax, dword [ebp - 0x4c]
add eax, edi
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], edx
mov byte [ebp - 4], 0x14
cmp esi, ebx
je 0x4d2d78
dec dword [esi + 4]
jne 0x4d2d72
cmp byte [esi + 8], 0
je 0x4d2d67
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x3c], ebx
mov edx, dword [ebp - 0x50]
cmp edx, ebx
jne 0x4d2d83
xor ecx, ecx
jmp 0x4d2d97
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x4d2d8f
mov ecx, dword [eax + 0xc]
jmp 0x4d2d91
xor ecx, ecx
imul ecx, dword [ebp - 0x4c]
add ecx, edx
mov edx, dword [ecx]
mov edx, dword [edx + 0x3c]
lea eax, [ebp - 0x30]
push eax
call edx
push eax
lea eax, [ebp - 0x20]
push eax
mov ecx, eax
push ecx
call dword [0x526388]
push 0xc
call fcn.00503a77
add esp, 4
cmp eax, ebx
je 0x4d2dfd
mov edx, dword [ebp - 0x50]
cmp edx, ebx
jne 0x4d2dd8
xor ecx, ecx
mov ecx, dword [ecx + 4]
mov dword [eax], vtable.GuiControl::ClickedEvent.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
jmp 0x4d2dff
mov ecx, dword [ebp - 0x48]
cmp ecx, ebx
je 0x4d2de4
mov ecx, dword [ecx + 0xc]
jmp 0x4d2de6
xor ecx, ecx
imul ecx, dword [ebp - 0x4c]
add ecx, edx
mov ecx, dword [ecx + 4]
mov dword [eax], vtable.GuiControl::ClickedEvent.0
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
jmp 0x4d2dff
xor eax, eax
mov edi, 1
push edi
push eax
lea ecx, [ebp - 0x68]
call fcn.004af150
mov esi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
sub esp, 0xc
mov eax, esp
mov byte [ebp - 4], 0x16
mov dword [ebp - 0x88], esp
mov dword [eax], ebx
mov dword [eax + 4], edx
mov dword [eax + 8], esi
test esi, esi
je 0x4d2e35
add dword [esi + 4], edi
mov ecx, dword [ebp - 0x50]
test ecx, ecx
jne 0x4d2e40
xor eax, eax
jmp 0x4d2e54
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4d2e4c
mov eax, dword [eax + 0xc]
jmp 0x4d2e4e
xor eax, eax
imul eax, dword [ebp - 0x4c]
add eax, ecx
mov ecx, eax
call fcn.004aef10
mov ecx, dword [ebp - 0x50]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov edx, dword [ebp - 0x4c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x48]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x88], esp
test eax, eax
je 0x4d2e81
add dword [eax + 4], edi
mov edi, dword [ebp - 0x5c]
mov ecx, edi
call fcn.004c5b50
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], esi
test esi, esi
je 0x4d2ea1
inc dword [esi + 4]
mov edx, dword [edi + 0x78]
xor ebx, ebx
cmp edx, ebx
jne 0x4d2eae
xor ecx, ecx
jmp 0x4d2ec7
mov eax, dword [edi + 0x80]
cmp eax, ebx
je 0x4d2ebd
mov eax, dword [eax + 0xc]
jmp 0x4d2ebf
xor eax, eax
mov ecx, dword [edi + 0x7c]
imul ecx, eax
add ecx, edx
lea eax, [ebp - 0x84]
push eax
mov byte [ebp - 4], 0x17
call fcn.0044ca40
mov edi, dword [ebp - 0x7c]
mov byte [ebp - 4], 0x16
cmp edi, ebx
je 0x4d2f09
dec dword [edi + 4]
jne 0x4d2f00
cmp byte [edi + 8], 0
je 0x4d2ef5
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 1
mov ecx, edi
call eax
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x84], ebx
mov byte [ebp - 4], 0x14
cmp esi, ebx
je 0x4d2f35
dec dword [esi + 4]
jne 0x4d2f2f
cmp byte [esi + 8], 0
je 0x4d2f24
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x68], ebx
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0
cmp eax, ebx
je 0x4d2f6c
dec dword [eax + 4]
mov ecx, eax
cmp dword [eax + 4], ebx
jne 0x4d2f66
cmp byte [ecx + 8], 0
je 0x4d2f56
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x48]
cmp ecx, ebx
je 0x4d2f66
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x54]
add dword [ebp - 0x58], 8
inc eax
mov dword [ebp - 0x54], eax
cmp eax, 8
jb 0x4d2c40
mov ebx, dword [ebp - 0x5c]
mov esi, 0x564ef0
mov dword [ebp - 0x54], 4
nop
push esi
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x41]
call fcn.004c8d80
push eax
lea ecx, [ebx + 0x28]
mov byte [ebp - 4], 0x18
call fcn.0044ca40
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 0
test eax, eax
je 0x4d2fe4
dec dword [eax + 4]
cmp dword [eax + 4], 0
mov ecx, eax
jne 0x4d2fdc
cmp byte [ecx + 8], 0
je 0x4d2fcc
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x4d2fdc
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], eax
add esi, 8
dec dword [ebp - 0x54]
jne 0x4d2f90
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0x68], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebx + 0x6c], edx
mov dword [ebx + 0x70], eax
mov dword [ebx + 0x74], ecx
mov ecx, 0x56a4bc
mov dword [ebx + 0x84], 0xffffffff
call fcn.00416ad0
mov esi, dword [0x5699f4]
mov ecx, dword [esi + 0x34]
sub ecx, dword [esi + 0x30]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 6
jbe 0x4d3063
mov eax, dword [esi + 0x30]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x4d3063
mov edx, dword [eax + 0x50]
test edx, edx
je 0x4d3057
mov eax, dword [eax + 0x4c]
mov edx, dword [edx + 0xc]
imul eax, edx
add eax, ecx
jmp 0x4d3065
mov eax, dword [eax + 0x4c]
xor edx, edx
imul eax, edx
add eax, ecx
jmp 0x4d3065
xor eax, eax
mov ecx, dword [eax + 0xc]
mov dword [ebx + 0x88], ecx
mov eax, ebx
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.00503edb
mov esp, ebp
pop ebp
ret 8