Function at 0x5a9050
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x721d90
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x54
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x24]
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
mov ecx, dword [eax + 0x9c8]
movzx ecx, byte [ecx + 0x96c]
mov eax, dword [eax + 0x9c8]
push edi
mov dword [esp + 0x38], ecx
push ecx
mov ecx, eax
mov dword [esp + 0x14], ebx
mov ebp, 0x64
call fcn.004d2b50
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x78], ebx
mov eax, dword [esi + 0x24]
je 0x5a90cc
mov eax, dword [eax + 0xa2c]
push 0x20
mov ecx, eax
call fcn.005a4c20
mov edi, eax
cmp edi, ebx
mov dword [esp + 0x30], edi
jne 0x5a90e0
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x9c8]
mov ecx, eax
push ebx
call fcn.004d4ff0
mov edi, eax
mov dword [esp + 0x30], edi
mov ebx, dword [esp + 0x74]
xor eax, eax
cmp ebx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
je 0x5a9150
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x30]
test eax, eax
je 0x5a9150
cmp dword [esi + 0x6c], 1
jne 0x5a9120
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x30]
mov ecx, dword [eax + 0x9d4]
test ecx, ecx
jne 0x5a9120
mov dword [esp + 0x28], 1
push 3
jmp 0x5a9141
mov eax, dword [esi + 0x6c]
test eax, eax
jne 0x5a9150
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x30]
cmp dword [eax + 0x9d4], 1
jne 0x5a9150
mov dword [esp + 0x24], 1
push 4
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 8]
call fcn.004ae9f0
mov ebp, eax
test edi, edi
je 0x5a95a9
mov ecx, edi
call fcn.005b4790
cmp byte [eax + 0xac], 0x13
je 0x5a95a9
mov ecx, edi
call fcn.005b4790
cmp byte [eax + 0xac], 0x14
je 0x5a95a9
mov eax, dword [esp + 0x84]
test eax, eax
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x9c8]
jne 0x5a93fb
call fcn.004d3da0
cmp eax, 3
je 0x5a9282
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x9c8]
call fcn.004d3da0
cmp eax, 4
je 0x5a9282
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x9c8]
call fcn.004d3da0
cmp eax, 5
je 0x5a9282
mov eax, dword [edi + 0xc]
mov ecx, dword [0x7a3a28]
mov ecx, dword [ecx + 0x34]
push eax
call fcn.005b31a0
movzx edx, byte [eax + 0x1c]
mov dword [esp + 0x14], edx
mov eax, dword [edi + 0xc]
push eax
mov eax, dword [0x7a3a28]
mov ecx, dword [eax + 0x34]
call fcn.005b31a0
movzx eax, byte [eax + 0x1d]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x7c]
mov edi, ecx
imul edi, eax
test edx, edx
mov dword [esp + 0x18], eax
je 0x5a927b
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, esi
xor ebx, ebx
call fcn.005a52b0
test eax, eax
jle 0x5a958e
movsx edi, di
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, dword [0x7a3a28]
push edx
push eax
call fcn.00550b60
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
push ebp
push ecx
mov ecx, dword [0x7a3a28]
push edx
movsx eax, ax
push edi
push eax
call fcn.00550d10
add dword [esp + 0x10], eax
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, esi
inc ebx
call fcn.005a52b0
cmp ebx, eax
jl 0x5a9231
jmp 0x5a958e
push eax
push ecx
jmp 0x5a93cd
push 0
push 0x33
mov ecx, edi
call fcn.00555c90
test eax, eax
je 0x5a958e
push 0
push 0x33
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.005539c0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x5a958e
mov ax, word [eax + 6]
test ax, ax
je 0x5a958e
push str.NumDice
lea ecx, [esp + 0x50]
movzx edi, ax
call fcn.005e5a90
mov edx, dword [0x7a3a28]
mov eax, dword [edx + 0xb8]
mov eax, dword [eax + 0xac]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x50]
push edx
push edi
mov ecx, eax
mov dword [esp + 0x78], 0
call fcn.00413660
or ebx, 0xffffffff
lea ecx, [esp + 0x4c]
mov dword [esp + 0x6c], ebx
call fcn.005e5c20
push 0x747034
lea ecx, [esp + 0x50]
call fcn.005e5a90
mov eax, dword [0x7a3a28]
mov eax, dword [eax + 0xb8]
mov eax, dword [eax + 0xac]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x50]
push edx
push edi
mov ecx, eax
mov dword [esp + 0x78], 1
call fcn.00413660
lea ecx, [esp + 0x4c]
mov dword [esp + 0x6c], ebx
call fcn.005e5c20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x7c]
mov edi, eax
imul edi, ecx
test edx, edx
je 0x5a93cb
mov eax, dword [esp + 0x78]
push eax
mov ecx, esi
xor ebx, ebx
call fcn.005a52b0
test eax, eax
jle 0x5a958e
movsx edi, di
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [0x7a3a28]
push edx
call fcn.00550b60
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
push ebp
push ecx
mov ecx, dword [0x7a3a28]
push edx
movsx eax, ax
push edi
push eax
call fcn.00550d10
add dword [esp + 0x10], eax
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, esi
inc ebx
call fcn.005a52b0
cmp ebx, eax
jl 0x5a9381
jmp 0x5a958e
push ecx
push eax
mov ecx, dword [0x7a3a28]
call fcn.00550b60
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
push ebp
push edx
push ecx
mov ecx, dword [0x7a3a28]
movsx edx, di
movsx eax, ax
push edx
push eax
call fcn.00550d10
jmp 0x5a958a
call fcn.004d3da0
cmp eax, 3
je 0x5a94b2
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x9c8]
call fcn.004d3da0
cmp eax, 4
je 0x5a94b2
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x9c8]
call fcn.004d3da0
cmp eax, 5
je 0x5a94b2
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x9c8]
call fcn.004d3da0
cmp eax, 7
je 0x5a9491
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 0x9c8]
call fcn.004d3da0
cmp eax, 8
je 0x5a9491
mov eax, dword [edi + 0xc]
mov ecx, dword [0x7a3a28]
mov ecx, dword [ecx + 0x34]
push eax
call fcn.005b31a0
movzx edx, byte [eax + 0x1c]
mov dword [esp + 0x14], edx
mov eax, dword [edi + 0xc]
push eax
mov eax, dword [0x7a3a28]
mov ecx, dword [eax + 0x34]
call fcn.005b31a0
movzx ecx, byte [eax + 0x1d]
mov dword [esp + 0x18], ecx
jmp 0x5a9581
mov ecx, esi
call fcn.005a4d40
movzx edx, al
mov ecx, esi
mov dword [esp + 0x14], edx
call fcn.005a4d60
movzx eax, al
mov dword [esp + 0x18], eax
jmp 0x5a9581
push 0
push 0x33
mov ecx, edi
call fcn.00555c90
test eax, eax
je 0x5a9581
push 0
push 0x33
lea ecx, [esp + 0x4c]
push ecx
mov ecx, edi
call fcn.005539c0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x5a9581
mov ax, word [eax + 6]
test ax, ax
je 0x5a9581
push str.NumDice
lea ecx, [esp + 0x50]
movzx edi, ax
call fcn.005e5a90
mov edx, dword [0x7a3a28]
mov eax, dword [edx + 0xb8]
mov eax, dword [eax + 0xac]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x50]
push edx
push edi
mov ecx, eax
mov dword [esp + 0x78], 2
call fcn.00413660
or ebx, 0xffffffff
lea ecx, [esp + 0x4c]
mov dword [esp + 0x6c], ebx
call fcn.005e5c20
push 0x747034
lea ecx, [esp + 0x50]
call fcn.005e5a90
mov eax, dword [0x7a3a28]
mov eax, dword [eax + 0xb8]
mov eax, dword [eax + 0xac]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x50]
push edx
push edi
mov ecx, eax
mov dword [esp + 0x78], 3
call fcn.00413660
lea ecx, [esp + 0x4c]
mov dword [esp + 0x6c], ebx
call fcn.005e5c20
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x30]
push 0
push 0x1f
call fcn.00555c90
test eax, eax
je 0x5a95e8
mov dword [esp + 0x10], 0
jmp 0x5a95e8
mov eax, dword [esp + 0x7c]
test eax, eax
mov ecx, esi
je 0x5a95de
mov ebp, dword [esp + 0x78]
push ebp
xor edi, edi
call fcn.005a52b0
test eax, eax
jle 0x5a95e8
push ebx
mov ecx, esi
call fcn.005a4d90
add dword [esp + 0x10], eax
push ebp
mov ecx, esi
inc edi
call fcn.005a52b0
cmp edi, eax
jl 0x5a95c3
jmp 0x5a95e8
push ebx
call fcn.005a4d90
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x88]
test eax, eax
mov ebx, dword [esp + 0x10]
je 0x5a961e
test bx, bx
jle 0x5a961e
mov edi, dword [esp + 0x1c]
movsx eax, bx
push 0
mov byte [edi + 0xfe], bl
mov ecx, dword [esi + 0x24]
push eax
call fcn.004ed5e0
push eax
mov ecx, edi
call fcn.004d20d0
jmp 0x5a9622
mov edi, dword [esp + 0x1c]
mov eax, dword [0x8327e4]
test eax, eax
je 0x5a970e
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x9c8]
mov ebp, dword [esp + 0x38]
push ebp
mov ecx, eax
call fcn.004d2b50
add eax, 0x80
push eax
lea ecx, [esp + 0x50]
call fcn.005e5b00
lea ecx, [esp + 0x3c]
mov dword [esp + 0x6c], 4
call fcn.005b3190
mov eax, dword [esp + 0x7c]
test eax, eax
mov byte [esp + 0x6c], 5
je 0x5a9696
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, esi
call fcn.005a52b0
push eax
movsx edx, bx
push edx
lea eax, [esp + 0x44]
push str.Damage_Roll:__d__Critical_x_d_
push eax
call fcn.005e5680
add esp, 0x10
jmp 0x5a96ac
movsx ecx, bx
push ecx
lea edx, [esp + 0x40]
push str.Damage_Roll:__d
push edx
call fcn.005e5680
add esp, 0xc
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x54]
call fcn.005e5d10
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx + 0x9c8]
push eax
push ebp
mov byte [esp + 0x74], 6
call fcn.004d2b50
mov ecx, eax
add ecx, 0x80
call fcn.005e5c50
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c], 5
call fcn.005e5c20
lea ecx, [esp + 0x3c]
mov byte [esp + 0x6c], 4
call fcn.005e5c20
lea ecx, [esp + 0x4c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.005e5c20
mov eax, dword [esp + 0x80]
test eax, eax
je 0x5a98d1
push 0x45
mov ecx, esi
xor edi, edi
call fcn.005a6630
test eax, eax
je 0x5a9736
mov edi, 0xa
jmp 0x5a97ee
push 0x44
mov ecx, esi
call fcn.005a6630
test eax, eax
je 0x5a974d
mov edi, 9
jmp 0x5a97ee
push 0x43
mov ecx, esi
call fcn.005a6630
test eax, eax
je 0x5a9764
mov edi, 8
jmp 0x5a97ee
push 0x42
mov ecx, esi
call fcn.005a6630
test eax, eax
je 0x5a9778
mov edi, 7
jmp 0x5a97ee
push 0x41
mov ecx, esi
call fcn.005a6630
test eax, eax
je 0x5a978c
mov edi, 6
jmp 0x5a97ee
push 0x40
mov ecx, esi
call fcn.005a6630
test eax, eax
je 0x5a97a0
mov edi, 5
jmp 0x5a97ee
push 0x3f
mov ecx, esi
call fcn.005a6630
test eax, eax
je 0x5a97b4
mov edi, 4
jmp 0x5a97ee
push 0x3e
mov ecx, esi
call fcn.005a6630
test eax, eax
je 0x5a97c8
mov edi, 3
jmp 0x5a97ee
push 0x3d
mov ecx, esi
call fcn.005a6630
test eax, eax
je 0x5a97dc
mov edi, 2
jmp 0x5a97ee
push 0x3c
mov ecx, esi
call fcn.005a6630
test eax, eax
je 0x5a97ee
mov edi, 1
mov ecx, dword [0x7a3a28]
push 6
push edi
call fcn.00550b60
movzx ebx, ax
mov eax, dword [0x8327e4]
test eax, eax
je 0x5a98bb
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x9c8]
mov edi, dword [esp + 0x38]
push edi
mov ecx, eax
call fcn.004d2b50
add eax, 0x80
push eax
lea ecx, [esp + 0x50]
call fcn.005e5b00
lea ecx, [esp + 0x3c]
mov dword [esp + 0x6c], 7
call fcn.005b3190
push ebx
lea edx, [esp + 0x40]
push str.___d__Sneak_Attack_Damage_
push edx
mov byte [esp + 0x78], 8
call fcn.005e5680
add esp, 0xc
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x54]
call fcn.005e5d10
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx + 0x9c8]
push eax
push edi
mov byte [esp + 0x74], 9
call fcn.004d2b50
mov ecx, eax
add ecx, 0x80
call fcn.005e5c50
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c], 8
call fcn.005e5c20
lea ecx, [esp + 0x3c]
mov byte [esp + 0x6c], 7
call fcn.005e5c20
lea ecx, [esp + 0x4c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.005e5c20
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
add eax, ebx
mov dword [esp + 0x10], eax
mov byte [edx + 0x101], bl
mov edi, edx
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x5a98fb
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x30]
test eax, eax
je 0x5a98fb
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x78]
mov eax, dword [ebx]
push ecx
push edx
mov ecx, ebx
call dword [eax + 0x30]
push eax
jmp 0x5a990a
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x78]
push ecx
push edx
push 0
mov ecx, esi
call fcn.005a8be0
mov ecx, dword [esp + 0x7c]
test ecx, ecx
movsx eax, al
mov dword [esp + 0x28], eax
mov byte [edi + 0xff], al
mov byte [edi + 0x100], 0
je 0x5a9bf6
mov eax, dword [esp + 0x78]
xor edi, edi
push eax
mov ecx, esi
xor ebx, ebx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x84], edi
call fcn.005a52b0
test eax, eax
mov ebp, dword [esp + 0x1c]
jle 0x5a99b6
jmp 0x5a9960
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
movzx eax, byte [ebp + 0x103]
add edx, ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x10], edx
movsx edx, byte [ebp + 0x102]
add ecx, eax
add ebx, edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x88], ecx
movzx ecx, byte [ebp + 0xff]
add edx, ecx
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x78]
push edx
mov ecx, esi
inc edi
call fcn.005a52b0
cmp edi, eax
jl 0x5a9960
mov al, byte [esp + 0x88]
mov cl, byte [esp + 0x80]
mov edi, dword [esp + 0x30]
movzx dx, al
mov byte [ebp + 0x103], al
movsx ax, bl
mov byte [ebp + 0xff], cl
add edx, dword [esp + 0x10]
mov byte [ebp + 0x102], bl
add edx, eax
test edi, edi
mov dword [esp + 0x10], edx
je 0x5a9c0e
push 0
push 0x31
mov ecx, edi
call fcn.00555c90
test eax, eax
je 0x5a9c0e
push 0
push 0x31
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call fcn.005539c0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x5a9c0e
mov ax, word [eax + 6]
test ax, ax
je 0x5a9c0e
push str.NumDice
lea ecx, [esp + 0x50]
movzx edi, ax
call fcn.005e5a90
mov edx, dword [0x7a3a28]
mov eax, dword [edx + 0xb8]
mov eax, dword [eax + 0xb0]
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x50]
push edx
push edi
mov ecx, eax
mov dword [esp + 0x78], 0xa
call fcn.00413660
lea ecx, [esp + 0x4c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.005e5c20
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x5a9a90
mov ebx, edi
jmp 0x5a9afb
push 0x747034
lea ecx, [esp + 0x50]
call fcn.005e5a90
mov eax, dword [0x7a3a28]
mov eax, dword [eax + 0xb8]
mov eax, dword [eax + 0xb0]
lea ecx, [esp + 0x80]
push ecx
lea edx, [esp + 0x50]
push edx
push edi
mov ecx, eax
mov dword [esp + 0x78], 0xb
call fcn.00413660
lea ecx, [esp + 0x4c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.005e5c20
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
push eax
push ecx
mov ecx, dword [0x7a3a28]
call fcn.00550b60
movzx ebx, ax
mov cl, byte [ebp + 0xff]
mov edx, dword [esp + 0x10]
add cl, bl
mov byte [ebp + 0xff], cl
mov eax, dword [0x8327e4]
add edx, ebx
test eax, eax
mov dword [esp + 0x10], edx
je 0x5a9c0e
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x9c8]
mov edi, dword [esp + 0x38]
push edi
mov ecx, eax
call fcn.004d2b50
add eax, 0x80
push eax
lea ecx, [esp + 0x50]
call fcn.005e5b00
lea ecx, [esp + 0x30]
mov dword [esp + 0x6c], 0xc
call fcn.005b3190
mov eax, dword [esp + 0x88]
test eax, eax
mov byte [esp + 0x6c], 0xd
lea edx, [esp + 0x30]
jne 0x5a9b7a
push ebx
push str.___d__Massive_Critical_
push edx
call fcn.005e5680
add esp, 0xc
jmp 0x5a9b92
mov ecx, dword [esp + 0x80]
push ecx
push eax
push ebx
push str.___d___dd_d_Massive_Critical_
push edx
call fcn.005e5680
add esp, 0x14
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x54]
call fcn.005e5d10
mov ecx, dword [esi + 0x24]
mov ecx, dword [ecx + 0x9c8]
push eax
push edi
mov byte [esp + 0x74], 0xe
call fcn.004d2b50
mov ecx, eax
add ecx, 0x80
call fcn.005e5c50
lea ecx, [esp + 0x28]
mov byte [esp + 0x6c], 0xd
call fcn.005e5c20
lea ecx, [esp + 0x30]
mov byte [esp + 0x6c], 0xc
call fcn.005e5c20
lea ecx, [esp + 0x4c]
mov dword [esp + 0x6c], 0xffffffff
call fcn.005e5c20
jmp 0x5a9c0e
movsx cx, byte [edi + 0x102]
movzx dx, byte [edi + 0x103]
add eax, ecx
add edx, eax
add dword [esp + 0x10], edx
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x74]
mov ecx, dword [esi + 0x24]
push 0
push 0xff
push 0xff
push 0
push 0
push edx
push 0
lea eax, [esp + 0x64]
push eax
push ebp
push 2
mov dword [esp + 0x70], 0
call fcn.004f3fe0
mov edi, dword [esp + 0x1c]
mov ebx, eax
mov byte [edi + 0x109], bl
mov eax, dword [0x8327e4]
test eax, eax
je 0x5a9d41
test ebx, ebx
je 0x5a9d41
mov eax, dword [esi + 0x24]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + 0x9c8]
push ecx
mov ecx, eax
call fcn.004d2b50
add eax, 0x80
push eax
lea ecx, [esp + 0x58]
call fcn.005e5b00
lea ecx, [esp + 0x1c]
mov dword [esp + 0x6c], 0xf
call fcn.005b3190
cmp dword [esp + 0x7c], 1
mov byte [esp + 0x6c], 0x10
jne 0x5a9cc8
mov edx, dword [esp + 0x78]
push edx
mov ecx, esi
call fcn.005a52b0
push eax
push ebx
lea eax, [esp + 0x24]
push str.___d__Effect_Damage_Bonus___Critical_x_d_
push eax
call fcn.005e5680
add esp, 0x10
jmp 0x5a9cdb
push ebx
lea ecx, [esp + 0x20]
push str.___d__Effect_Damage_Bonus_
push ecx
call fcn.005e5680
add esp, 0xc
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x5c]
call fcn.005e5d10
mov ecx, dword [esi + 0x24]
mov edx, dword [esp + 0x38]
mov ecx, dword [ecx + 0x9c8]
push eax
push edx
mov byte [esp + 0x74], 0x11
call fcn.004d2b50
mov ecx, eax
add ecx, 0x80
call fcn.005e5c50
lea ecx, [esp + 0x5c]
mov byte [esp + 0x6c], 0x10
call fcn.005e5c20
lea ecx, [esp + 0x1c]
mov byte [esp + 0x6c], 0xf
call fcn.005e5c20
lea ecx, [esp + 0x54]
mov dword [esp + 0x6c], 0xffffffff
call fcn.005e5c20
cmp word [esp + 0x10], 1
jge 0x5a9d6c
push 0
mov byte [edi + 0xfe], 1
mov ecx, dword [esi + 0x24]
push 1
mov dword [esp + 0x18], 1
call fcn.004ed5e0
push eax
mov ecx, edi
call fcn.004d20d0
mov ecx, dword [esi + 0x24]
call fcn.004ed5e0
test ebp, ebp
mov edi, eax
je 0x5a9dea
mov ecx, dword [esi + 0x24]
push ebp
call fcn.004fd6f0
mov ebx, dword [esp + 0x84]
movsx ecx, word [esp + 0x10]
mov edx, dword [ebp]
push 1
push ebx
push edi
mov byte [esp + 0x84], al
mov eax, dword [esi + 0x24]
push ecx
push eax
mov ecx, ebp
call dword [edx + 0xac]
mov ecx, dword [esi + 0x24]
mov edx, dword [ebp]
push 1
push 1
push ebx
movsx eax, ax
push edi
push eax
push ecx
mov ecx, ebp
call dword [edx + 0xa8]
mov ecx, dword [esp + 0x78]
mov esi, dword [esi + 0x24]
mov edx, dword [ebp]
push 1
push ebx
push ecx
movsx eax, ax
push eax
push esi
mov ecx, ebp
call dword [edx + 0xa4]
test ax, ax
jge 0x5a9de5
xor eax, eax
movsx eax, ax
jmp 0x5a9def
movsx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x64]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x60
ret 0x18